Code VBA - Remplacer "." par ","

Bonjour,

Pour remplacer des points par des virgules dans une colonne de mon fichier (car les nombres sont au format anglais, c'est à dire avec des points au lieu des virgules pour les centimes)

J'ai utilisé l'enregistreur de macro.

Pendant l'enregistrement, le remplacement s'effectue sans problème, mais lorsque je lance la macro rien ne se passe.

Voici le code proposé par l'enregistreur de macro

 Sheets("Feuil1").Select
    Columns("Y:Y").Select
    Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Il y a t'il quelque chose qui cloche ?

Merci

Bonjour Kayzah,

L'enregistreur de macro est notre meilleur ami. Malheureusement, il est quelque fois quelque peu "piégeant" et il est nécessaire de le rectifier

Dans ton case, le quoi remplacer ("What:") et le avec quoi ("Replacement:") ont été inversés.

Le code suivant devrait faire ce que tu attends:

    Sheets("Feuil1").Select
    Columns("Y:Y").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Bonjour,

Essaie ainsi :

Sheets("Feuil1").Columns("Y:Y").Replace ".", ","

Mais tes valeurs ne seront pas numériques pour autant.

Cdlt.

Bonjour,

Une autre proposition ...

Sheets("Feuil1").Columns("Y:Y").Replace What:=",", Replacement:="."

ric

Bonjour,

Essaie ainsi :

Sheets("Feuil1").Columns("Y:Y").Replace ".", ","

Mais tes valeurs ne seront pas numériques pour autant.

Cdlt.

Merci ça fonctionne.

Du coup une solution pour ensuite convertir colonne Y en format nombre ?

@ric Merci pour ton autre proposition

Bonjour,

Un essai ...

   Sheets("Feuil2").Columns("Y:Y").Replace ",", "."

   Sheets("Feuil2").Columns("Y:Y").TextToColumns Destination:=Range("Y1"), DataType:=xlDelimited, _
                                                 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                                                 Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
                                                 FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

ric

Bonjour,

Un essai ...

   Sheets("Feuil2").Columns("Y:Y").Replace ",", "."

   Sheets("Feuil2").Columns("Y:Y").TextToColumns Destination:=Range("Y1"), DataType:=xlDelimited, _
                                                 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                                                 Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
                                                 FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

ric

Just perfect... Merci bcp ric !

ric

Rechercher des sujets similaires à "code vba remplacer"