Macro Remplacements automatiques entre deux cellules

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
469
Réponses
3
Affichages
892
Retour