Rechercher-remplacer sur Word avec une liste Excel.
Universus
Messages postés
4
Statut
Membre
-
m@rina Messages postés 26226 Statut Contributeur -
m@rina Messages postés 26226 Statut Contributeur -
Bonjour,
Je cherche à rechercher sur un document Word, les valeurs de chaque rangée dans la colonne A d'un fichier Excel, et remplacer les occurrences par leur valeur correspondante de la colonne B.
(Liste de + de 1000 rangées).
Précision (le but est de corriger / reformatter le document Word).
Comment faire?
Exemple :

Je cherche à rechercher sur un document Word, les valeurs de chaque rangée dans la colonne A d'un fichier Excel, et remplacer les occurrences par leur valeur correspondante de la colonne B.
(Liste de + de 1000 rangées).
Précision (le but est de corriger / reformatter le document Word).
Comment faire?
Exemple :

Configuration: Macintosh / Chrome 101.0.4951.64
A voir également:
- Rechercher-remplacer sur Word avec une liste Excel.
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Rechercher remplacer word - Guide
- Comment supprimer une page sur word - Guide
- Word 2013 - Télécharger - Traitement de texte
3 réponses
Bonjour.
Cette gymnastique n'est pas possible (sauf peut-être avec une macro, mais j'en doute).
Recherche à faire entièrement dans des documents Word ou dans des classeurs Excel, et recopier les résultats obtenus.
Cette gymnastique n'est pas possible (sauf peut-être avec une macro, mais j'en doute).
Recherche à faire entièrement dans des documents Word ou dans des classeurs Excel, et recopier les résultats obtenus.
Bonjour
C'est possible, avec une macro. Mais ce sera beaucoup plus simple de faire un copier coller du tableau en question dans un doc Word.
Supposant que le document Word qui contient le tableau se nomme tablo.docx, voici une macro qui va faire les modifs dans le document actif.
ATTENTION ! la macro que je propose est faite pour Windows, pas pour Mac, et l'on sait que les macros sur Mac ne sont pas vraiment compatibles.
Donc mieux vaut quand même faire un test avant :
m@rina
C'est possible, avec une macro. Mais ce sera beaucoup plus simple de faire un copier coller du tableau en question dans un doc Word.
Supposant que le document Word qui contient le tableau se nomme tablo.docx, voici une macro qui va faire les modifs dans le document actif.
ATTENTION ! la macro que je propose est faite pour Windows, pas pour Mac, et l'on sait que les macros sur Mac ne sont pas vraiment compatibles.
Donc mieux vaut quand même faire un test avant :
Sub universus()
'macro écrite par m@rina
Dim tablo, i
Dim cellule1 As Cell, cellule2 As Cell
Dim texte1 As Range, texte2 As Range
tablo = Documents("tablo.docx").Tables(1)
For i = 1 To tablo.Rows.Count
Set cellule1 = tablo.Tables(1).Cell(Row:=i, Column:=1)
Set texte1 = cellule1.Range
texte1.MoveEnd unit:=wdCharacter, Count:=-1
Set cellule2 = tablo.Tables(1).Cell(Row:=i, Column:=2)
Set texte2 = cellule2.Range
texte2.MoveEnd unit:=wdCharacter, Count:=-1
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Set myrange = ActiveDocument.Content
With myrange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = texte1
.Replacement.Text = texte2
.Execute Replace:=wdReplaceAll ' peut être la raison
End With
Next i
End Sub
m@rina
uhm...
Le débogueur me surligne la ligne
J'imagine que j'ai fait une erreur avec le document Word du tableau ?
voici de quoi il a l'air :

et juste pour rire, voici le texte qui allait être corrigé!
(je testais en même temps si ça prendrait en considération les espaces " " et la commande de saut de ligne "\n")
Le débogueur me surligne la ligne
tablo = Documents("tablo.docx").Tables(1)
J'imagine que j'ai fait une erreur avec le document Word du tableau ?
voici de quoi il a l'air :

et juste pour rire, voici le texte qui allait être corrigé!
1!
Je suis 2 que : 3
C’est un test
(je testais en même temps si ça prendrait en considération les espaces " " et la commande de saut de ligne "\n")