Note: The other languages of the website are Google-translated. Back to English

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 > Références, 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 > Références, 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 DECOUVREZ 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 pour 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 une détection de fuite de données 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 Find 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 Fermé 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:

Conseils: 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é…


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Commentaires (4)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Salutations,
le premier code :
Code VBA : rechercher et remplacer plusieurs textes dans un seul fichier Word

thows error : erreur de compilation type défini par l'utilisateur non défini
https://i.imgur.com/FZPBy4I.png
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Érik
Le code fonctionne bien.
Peut-être que tu n'as pas vérifié Bibliothèque d'objets Microsoft Word 16.0 la Références - VBAProject boite de dialogue.
Cela signifie que vous risquez de manquer les étapes 3 et 4 de cet article.
Veuillez réessayer, si vous avez encore d'autres problèmes, veuillez commenter ici.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Ce commentaire a été minimisé par le modérateur sur le site
Ça ne marche pas.

Erreur de compilation : type défini par l'utilisateur non défini
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Parame
Le code fonctionne bien.
Peut-être que tu n'as pas vérifié Bibliothèque d'objets Microsoft Word 16.0 la Références - VBAProject boite de dialogue.
Cela signifie que vous risquez de manquer les étapes 3 et 4 de cet article.
Veuillez réessayer, si vous avez encore d'autres problèmes, veuillez commenter ici.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL