Microsoft 365 Remplacer "." par "," avec VBA sans qu'il considère que c'est des milliers si ça ne commence par "0."

Bobbychou

XLDnaute Nouveau
Bonjour,

j'importe des données d'un fichier CSV dans mon excel, j'ai besoin que ma colonne E ait des virgules à la place des points car je dois en faire une somme par la suite.
Quand je le fais manuellement avec DONNEES/REMPLACER PAR/ "." en "," mon excel comprend et me donne exactement ce que je veux.
Le problème c'est quand j'enregistre mon action en macro ça me délivre le code suivant :

Sub Macro1()
Columns("E:E").Select
Selection.NumberFormat = "General"
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True, FormulaVersion:=xlReplaceFormula2
End Sub

Et quand je l'exécute j'obtient les exemples suivants :
Exemple 1 : Valeur initiale = 0.43946665 se transforme correctement en 0,4394665
Exemple 2 : Valeur initiale = 1.4404735 se transforme en 14404735,00

J'ai l'impression que quand c'est différent de 0 il considère que mon point ne sépare pas des décimales mais des milliers.

J'ai tenté de changer le séparateur de millier et le séparateur de décimal pour tenter de l'obliger à me changer correctement le format mais ça ne fonctionne pas.
J'ai également tenté différents formats de colonne (nombre, standard, personnalisé..) ça ne fonctionne pas non plus.
J'ai également tenté de le forcer à appliquer une virgule pour les milliers mais il me met une virgule en millier et une en décimal pour mon exemple 2.
J'ai donc tenté de le forcer à me mettre une virgule pour les milliers et rien pour les décimales, malheureusement c'est le format de mon exemple 1 qui n'est plus le bon avec cette manip...

Pouvez-vous m'aider?

Merci par avance,
 

Discussions similaires

Statistiques des forums

Discussions
313 192
Messages
2 096 072
Membres
106 488
dernier inscrit
mathieu.boiseau@semmaris.