Remplacer plusieurs mots à partir d'un tableau de correspondance

Bonjour,

j'ai besoin de votre aide.

j'ai une feuille (feuille1) qui contient la colonne A, j'ai du texte sur plusieurs ligne

Feuille1

-----------------------------A--------------------------------------------------------- -------------------------------B-----------------------------------

1 texte ........ mot-A1 texte .........

2 texte ......mot-A2 .....texte......mot-A3....texte

dans une autre feuille (feuille2) j'ai une correspondance pour les mots:

Feuille2

---A------ ----B----

mot-A1 mot-B1

mot-A2 mot-B2

mot-A3 mot-B3

Moi, je cherche à mettre dans la colonne B de la feuille 1, tout le texte de la colonne A,mais avec le remplacement des mots à partir de la correspondance de la feuille 2.

donc j'aimerais avoir dans la colonne B de la feuille 1 le résultat suivant:

-------------------------------B-----------------------------------

1 texte ........ mot-B1 texte .........

2 texte ......mot-B2 .....texte......mot-B3....texte

Merci beaucoup pour votre aide.

Bonjour,

une proposition

Sub aargh()
    With Sheets("feuil1") '<- à adapter eventuellement
        dlf1 = .Cells(Rows.Count, 1).End(xlUp).Row
        Set plf1 = .Cells(1, 1).Resize(dlf1)
    End With
    With Sheets("feuil2") '<- à adapter eventuellement
        dlf2 = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 1 To dlf2
            plf1.Replace .Cells(i, 1).Value, .Cells(i, 2).Value
        Next i
    End With
End Sub

Merci pour votre retour, j'ai essayé avec votre code, et j'ai adapté les noms des feuilles, mais ça marche pas .

faut-il changer d'autres paramètres ?

Bonjour,

le remplacement se fait en colonne A. voici le code qui met le résultat en colonne B.

Sub aargh()
    With Sheets("feuil1") '<- feuille contenant les phrases à modifier à adapter eventuellement
        dlf1 = .Cells(Rows.Count, 1).End(xlUp).Row
        .Cells(1, 1).Resize(dlf1).Copy .Cells(1, 2)
        Set plf1 = .Cells(1, 2).Resize(dlf1)
    End With
    With Sheets("feuil2") '<- feuille contenant la liste des mots à remplacer et les mots de remplacement à adapter eventuellement
        dlf2 = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 1 To dlf2
            plf1.Replace .Cells(i, 1).Value, .Cells(i, 2).Value
        Next i
    End With
End Sub

si cela ne fonctionne toujours pas, mets-nous un exemple de ton fichier.

Voici le résultat que j'obtiens, j'ai rien changer dans le code.

feuil1 feuil2

bonjour,

je réitère ma demande et t'invite à jeter un oeil sur le rappel de ma signature.

H2SO4 a écrit :

si cela ne fonctionne toujours pas, mets-nous un exemple de ton fichier.

tes photos me sont inutiles...

Bonjour

désolé, j'ai pas compris ta demande, ci-joint le fichier.

Merci d'avance.

Bonjour,

1) exécutes-tu bien la macro (alt-F8) ?

2) dans ta liste de mot le premier mot à remplacer est A et il faut le remplacer par B. -> Tous les A vont être remplacés par B...

Bonjour,

1)Oui j'ai exécuté bien la macro (alt-F8)

2) oui pour le premier mot ça marche, par contre pour les autres mots mot-A1, mot-A2 et mot-A3 ça marche pas.

en fait je cherche à remplacer le mot au milieu du texte dans la cellule et pas toute la cellule.

Bonjour,

si tu as fait des remplacements manuellement, il se pourrait que la macro ne fonctionne pas correctement, voici une version modifiée.

Sub aar()
   With Sheets("feuil1") '<- feuille contenant les phrases à modifier à adapter eventuellement
        dlf1 = .Cells(Rows.Count, 1).End(xlUp).Row
        .Cells(1, 1).Resize(dlf1).Copy .Cells(1, 2)
        Set plf1 = .Cells(1, 2).Resize(dlf1)
    End With
    With Sheets("feuil2") '<- feuille contenant la liste des mots à remplacer et les mots de remplacement à adapter eventuellement
        dlf2 = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 1 To dlf2
            plf1.Replace .Cells(i, 1).Value, .Cells(i, 2).Value, xlPart
        Next i
    End With
End Sub

Bonsoir,

Super, ça marche, merci infiniment .

Rechercher des sujets similaires à "remplacer mots partir tableau correspondance"