Passer au contenu principal

Comment rechercher et remplacer du texte dans un document Word à partir d'Excel ?

Dans un document Word, nous pouvons appliquer la fonction Rechercher et remplacer pour rechercher et remplacer rapidement un texte. Mais, s'il y a plusieurs textes à trouver et à remplacer, entrer le texte un par un dans la fonction Rechercher et remplacer prendra du temps. Dans ce cas, vous pouvez entrer les textes de recherche et de remplacement dans la liste des cellules, et à l'aide du code VBA dans Excel pour accomplir ce travail facilement. Dans cet article, je présenterai également une fonctionnalité utile pour rechercher et remplacer par lots des textes dans plusieurs documents Word.

Rechercher et remplacer plusieurs textes dans un document Word à partir d'Excel avec le code VBA

Rechercher et remplacer plusieurs textes dans plusieurs documents Word à partir d'Excel avec le code VBA

Trouvez et remplacez plusieurs textes dans plusieurs documents Word avec une fonctionnalité puissante


Rechercher et remplacer plusieurs textes dans un document Word à partir d'Excel avec le code VBA

Si vous souhaitez rechercher et remplacer certains textes dans un seul fichier Word, le code VBA suivant peut vous rendre service.

1. Dans la feuille de calcul Excel, créez une colonne contenant les textes que vous souhaitez rechercher et remplacer, et une autre colonne avec des textes à remplacer, comme illustré ci-dessous. Et puis appuyez sur Alt + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Puis clique insérer > Module, copiez et collez le code VBA ci-dessous dans la fenêtre.

Code VBA : rechercher et remplacer plusieurs textes dans un seul fichier Word

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Après avoir collé le code, toujours dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur Outils > Bibliographie, voir capture d'écran:

4. Dans le popped-out Références - VBAProject boîte de dialogue, sélectionnez le Bibliothèque d'objets Microsoft Word 16.0 dans la zone de liste, voir capture d'écran :

5Cliquez sur OK bouton pour fermer la boîte de dialogue, et maintenant, appuyez sur F5 clé pour exécuter ce code, dans la fenêtre de navigation contextuelle, sélectionnez le fichier Word dont vous souhaitez remplacer les textes, voir capture d'écran :

6. Puis clique OK, dans la boîte de dialogue suivante, appuyez sur Ctrl pour sélectionner séparément le texte d'origine et les nouvelles cellules de texte que vous souhaitez utiliser, voir capture d'écran :

7. Et puis, cliquez OK , maintenant, les textes sont trouvés et remplacés par les nouveaux textes dans votre document spécifié, et le fichier s'ouvre également, vous devez l'enregistrer pour conserver les modifications.


Rechercher et remplacer plusieurs textes dans plusieurs documents Word à partir d'Excel avec le code VBA

Ici, je crée également un code VBA pour rechercher et remplacer plusieurs textes dans plusieurs documents Word, veuillez procéder comme suit :

1. Ouvrez le fichier Excel qui contient deux colonnes de valeurs à remplacer et à remplacer par comme illustré ci-dessous, puis appuyez sur Alt + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Puis clique insérer > Module, copiez et collez le code VBA ci-dessous dans la fenêtre.

Code VBA : rechercher et remplacer plusieurs textes dans plusieurs fichiers Word

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Toujours dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur Outils > Bibliographie, Dans le Références - VBAProject boîte de dialogue, sélectionnez le Bibliothèque d'objets Microsoft Word 16.0 et Exécution de scripts Microsoft options de la zone de liste, voir capture d'écran :

4. Après avoir vérifié les deux options, et cliquez sur OK pour fermer la boîte de dialogue, puis continuez à appuyer sur la F5 clé pour exécuter ce code, dans l'ouverture Explorer fenêtre, choisissez un dossier contenant les documents Word que vous souhaitez effectuer la recherche et le remplacement, voir capture d'écran :

5Cliquez sur OK bouton, dans la boîte de dialogue qui apparaît, appuyez sur Ctrl pour sélectionner séparément le texte d'origine et les nouvelles colonnes de texte que vous souhaitez utiliser, voir capture d'écran :

6. Enfin, cliquez OK, et les textes originaux sont remplacés par les nouveaux dans ces fichiers, après avoir terminé, une boîte de dialogue apparaîtra comme illustré ci-dessous :

7Cliquez sur OK pour fermer la boîte de dialogue. Et vous pouvez accéder aux fichiers pour vérifier les résultats convertis.


Trouvez et remplacez plusieurs textes dans plusieurs documents Word avec une fonctionnalité puissante

Dans cette section, je vais parler de la façon de rechercher et de remplacer par lots des textes dans plusieurs documents Word à partir de Word au lieu d'Excel. Avec un outil puissant-Kutools for Word, vous pouvez rapidement trouver et remplacer les textes spécifiques et les remplacer par de nouveaux textes dans le fichier principal, l'en-tête, le pied de page, les commentaires, etc. et mettre en surbrillance les résultats selon vos besoins.

1. Ouvrez un fichier Word, puis cliquez sur Kutools Plus > Rechercher et remplacer par lots, voir capture d'écran:

2. Dans le ouvert Rechercher et remplacer par lots boîte de dialogue, veuillez effectuer les opérations suivantes:

  • Cliquez Ajouter bouton pour ajouter les fichiers Word où vous souhaitez rechercher et remplacer des textes ;
  • Dans le volet de gauche, cliquez sur Ajouter une rangée du ruban supérieur;
  • Dans le champ inséré, entrez le texte d'origine et le nouveau texte dans le Trouvez et remplacer colonnes séparément que vous souhaitez rechercher et remplacer. De plus, vous pouvez spécifier une couleur pour mettre en surbrillance les textes remplacés selon vos besoins.

3. Après avoir créé les critères de recherche, cliquez sur remplacer bouton pour aller à la Résultat de la prévisualisation pour afficher les résultats de la recherche et du remplacement. Voir capture d'écran :

4. Puis clique Fermer bouton, et une boîte de dialogue apparaît pour vous rappeler si vous souhaitez enregistrer ce scénario, cliquez sur Oui pour l'enregistrer, et cliquez sur Non pour l'ignorer, voir capture d'écran:

Pourboires: Cette fonctionnalité peut également aider à réaliser les opérations suivantes :
  • Rechercher et remplacer des caractères spéciaux dans plusieurs documents Word ;
  • Recherchez et remplacez plusieurs chaînes par une mise en forme spécifique dans plusieurs documents Word ;
  • Recherchez et remplacez plusieurs chaînes dans plusieurs fichiers txt/htm/html.

Cliquez pour obtenir des informations plus détaillées sur cette fonctionnalité…

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great, thank you! Is there a way to make the replacement text carry hyperlinks over? ie - if you have a hyperlinked replacement in the excel sheet, it is still hyperlinked in the Word doc?

Thanks!
This comment was minimized by the moderator on the site
Is there a way too modify this too find text and create hyperlink on the text from another column where i have the links already created? It worked correctly as a find and replace for me. Thanks
This comment was minimized by the moderator on the site
Hi,

I am wondering how this can be modified to also find and replace text in footnotes?

Thanks!
This comment was minimized by the moderator on the site
Hello, Nate,
If you want to find and replace the text in footnotes at the same time, maybe the Kutools for Word's Batch Find and Replace feature can help you.
You just need to check Main document and Footnotes from the Find in section, see below image:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word.png
This comment was minimized by the moderator on the site
It doesn't work.

Compile error: User-defined type not defined
This comment was minimized by the moderator on the site
Hello, Param
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
This comment was minimized by the moderator on the site
Sorry for the overdue reply. I have replied before, but my reply dissapeared somehow. You're right, the code does work well. But it replaced nothing when I tried it on a file with more than 80,000 lines.
This comment was minimized by the moderator on the site
Hello, Param
I have tested the code, it works well in my Word docuent which contains 140,000 lines.
Do you mind to upload your attachment here for testing?
Or you can apply our Kutools for Word's Batch Find and Replace feature, it can help you with ease.
Thank you!
This comment was minimized by the moderator on the site
Greetings,
the first code :
VBA code: Find and replace multiple texts in one Word file

thows error : compile error user defined type not defined
https://i.imgur.com/FZPBy4I.png
This comment was minimized by the moderator on the site
Hello, Erik
The code works well.
Maybe, you didn't check Microsoft Word 16.0 Object Library from the References – VBAProject dialog box.
It means that you may miss the Step 3 and Step 4 of this article.
Please try again, if you still have any other problem, please comment here.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations