Macro Remplacements automatiques entre deux cellules

  • Initiateur de la discussion Pierre
  • Date de début
P

Pierre

Guest
Bonjour, je recherche une macro pouvant automatiser la fonction "remplacer" du menu édition, à partir de deux colonne.


En Détail, voici la manip que je souhaite faire :

J'ai trois colonnes, A, B et C.

Dans la première colonne, de longues phrases (issues d'un forum, par exemple). Cette colonne est totalement indépendante des deux autres.

Les seconde et troisième colonne fonctionnent en parallèle par ligne et contiennent des mots (un par case). En B, des mots susceptibles de se trouver n'importe où dans la colonne A, et en C, le synonyme ou mot de remplacement.

exemple :

B C
insulte ==> censuré-01
autreinsulte ==> censuré-02
motobscène ==> censuré-03


Mon objectif : remplacer, dans la colonne A, tous les mots existants dans la colonne B par leur "mot de remplacement" situé dans la colonne C.

J'ai essayé d'utiliser en mode enregistrement Macro la fonction "remplacer" du menu édition, mais il n'est pas possible de sélectionner des cellules.

Voici ce que donne la macro enregistrée, où zone 1 et zone 2 sont les mots à remplacer.


Columns("A:A").Select
Application.CutCopyMode = False
Selection.Replace What:="Zonnnne 1", Replacement:="Zonnnnnne 2", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False

Quelqu'un a-t-il sous la main cette macro magique ?

Merci d'avance.
 
S

sousou

Guest
Essaies quelque chose comme cela:


Mais attention a la séparation des mots.
si tu cherche à remplacer "il" par "eux" n'oublies pas que 'il' peut se trouver dans un mot.
faire dans ce cas " il "

Sub test()
Set mesphrases = ActiveCell.CurrentRegion.Columns(1)
Set mesmots = ActiveCell.CurrentRegion.Columns(2)
For Each mot In mesmots
For Each phrase In mesphrases
phrase.Replace what:=mot, replacement:=mot.Offset(0, 1)
Next
Next
End Sub
 

Discussions similaires

Réponses
26
Affichages
731

Statistiques des forums

Discussions
314 095
Messages
2 105 817
Membres
109 436
dernier inscrit
alex.972