Script conversion nombre avec caratères
Résolu
El_Dje
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
ElDje Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
ElDje Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai le problème suivant : je mets un forme via un script VBA un fichier qui comporte des chiffres écrit avec un "." pour la séparation des milliers.
J'ai donc ceci dans le fichier:
56,34
2.645,34
24
Problème : le 2.654,34 n'est pas reconnu comme un chiffre, mais comme un texte.
Lorsque je fais un simple "remplacer tout" ("." en ""), ça fonctionne bien, et je retrouve ce que je veux.
Mais lorsque je le fait avec VBA (j'ai bêtement enregistré la marco), il m'enlève également les ","; de sorte que je me retrouve avec ceci:
5634
2645,34
24
Macro :
Une idée de mon erreur ou de comment corriger mon script pour obtenir le même résultat qu'en utilisant la
J'ai le problème suivant : je mets un forme via un script VBA un fichier qui comporte des chiffres écrit avec un "." pour la séparation des milliers.
J'ai donc ceci dans le fichier:
56,34
2.645,34
24
Problème : le 2.654,34 n'est pas reconnu comme un chiffre, mais comme un texte.
Lorsque je fais un simple "remplacer tout" ("." en ""), ça fonctionne bien, et je retrouve ce que je veux.
Mais lorsque je le fait avec VBA (j'ai bêtement enregistré la marco), il m'enlève également les ","; de sorte que je me retrouve avec ceci:
5634
2645,34
24
Macro :
Columns("C:C").Select Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _ ReplaceFormat:=False
Une idée de mon erreur ou de comment corriger mon script pour obtenir le même résultat qu'en utilisant la
A voir également:
- Script conversion nombre avec caratères
- Script vidéo youtube - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Mas script - Accueil - Windows
- Ascii nombre de caractères - Guide
3 réponses
Bonjour,
pour eviter le select, mais ca marche sans virer les "," !!!!!!
pour eviter le select, mais ca marche sans virer les "," !!!!!!
Columns(3).Replace What:=".", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _ ReplaceFormat:=False
Bonjour,
écrit ton code comme cela pour traiter la plage C2:C100
Dim i As Integer
For i = 2 To 100
Cells(i, 3).Replace What:=".", Replacement:=""
Cells(i, 3) = Cells(i, 3) * 1
Next i
écrit ton code comme cela pour traiter la plage C2:C100
Dim i As Integer
For i = 2 To 100
Cells(i, 3).Replace What:=".", Replacement:=""
Cells(i, 3) = Cells(i, 3) * 1
Next i
Bonjour,
sur tes nombres formatés 2.645,34 (et uniquement ceux-là sinon les bons repasseront en texte) :
mais ça peut être fait directement au moment de l'importation à l'étape 3.
eric
sur tes nombres formatés 2.645,34 (et uniquement ceux-là sinon les bons repasseront en texte) :
[C2:C10].TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), DecimalSeparator:=",", ThousandsSeparator:=".", _ TrailingMinusNumbers:=False
mais ça peut être fait directement au moment de l'importation à l'étape 3.
eric
J'ai partiellement contourné le problème en définissant un type décimal avec "." comme séparateur de groupe ("digit group separator") dans les paramètre régionaux.
Reste à automatiser le passage en nombre d'un nombre formaté en texte.
Mais je suppose que ça, je trouverai dans le forum.
Merci pour l'aide!