Macro VBA rechercher et remplacer une information entre guillemets

Bonjour,

je souhaiterai faire une macro qui puisse aller chercher une virgule située entre des guillemets et les remplacer par un point (il y a des virgules en dehors des guillemets qui sont importantes).

D'abord, j'ai pensé commencer avec une fonction CHERCHE(CAR(32).A1:A), mais je ne sais pas comment faire la macro pour aller remplacer la virgule en point.

Avez vous une idée?

Merci de vos lumières

Grégoire

Bonjour,

Une possibilité : utiliser la fonction Replace . Par exemple :

Plage.Replace What:=""",""", Replacement:="""."""

où Plage est une variable (de type range) initialisée avec la plage où doit s'effectuer le remplacement. Par exemple :

Set Plage = Worksheets("Feuil1").Range("A1:D12")

A+

Bonjour AlgoPlus,

merci pour cette réponse!

J'ai essayé avec la formulation suivante, mais cela ne marche pas:

Sub IPT()
Set Plage = ActiveSheet.Range("A1:A")
Plage.Replace What:=""",""", Replacement:="""."""
End Sub

Je passe à côté de ce qui ne vas pas.

Peux tu m'aider?

Merci d'avance pour tes lumières! :)

Bonjour GGLC, AlgoPlus , le forum,

L' erreur doit se situer sur cette ligne:

Set Plage = ActiveSheet.Range("A1:A")

La fin de la plage n'est pas définie.


Exemple de A1 à dernière cellule de colonne A :

Sub IPT()
 Set Plage = ActiveSheet.Range("A1:A" & ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row)
  Plage.Replace What:=""",""", Replacement:="""."""
End Sub

Cordialement,

Bonjour Xorsankukai,



Merci de ton aide.
Hélas, ça ne marche pas.
Quand j'exécute la Macro, rien ne se passe mais sans pour autant afficher de message d'erreur. :(

J'ai remarqué que la fonction Replace ne s'indique pas en bleu.
Comme si ma machine ne reconnaissait pas la fonction. C'est possible?
Je suis sur microsoft 360.

Merci d'avance

Re,

Cela ne fonctionne pas non plus sur mon excel 2010,

Cela fonctionne si je mets

Plage.Replace What:=","" Replacement:="."

Mais cela change alors toutes les virgules, ce qui n'est pas souhaité....


[EDIT] un essai...

8gglc.xlsm (18.01 Ko)
Sub IPT()
 Dim plage As Range, cel As Range, mot As String, mot2 As String
  Application.ScreenUpdating = False
    Set plage = ActiveSheet.Range("A1:A" & ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row)
     For Each cel In plage
      tablo = Split(cel, """")
       On Error Resume Next
       mot = tablo(1): mot2 = Replace(mot, ",", ".")
       cel.Replace What:=mot, Replacement:=mot2
     Next cel
End Sub

Cordialement,

Rechercher des sujets similaires à "macro vba rechercher remplacer information entre guillemets"