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

Comment rechercher et remplacer plusieurs fichiers dans Word?

Si vous disposez de plusieurs dizaines de fichiers de mots qui contiennent le même contenu (tel qu'un en-tête, un pied de page, des mots ou un nombre spéciaux) et que vous devez remplacer le même contenu dans ces documents dans Word. Comment serait-il plus facile pour vous de le faire rapidement? Certes, vous pouvez ouvrir ces fichiers un par un pour remplacer le même contenu, mais cela prendra du temps et sera gênant. Ce didacticiel vous montrera un moyen délicat de remplacer le même contenu dans plusieurs documents dans Word à la fois.

Recherchez et remplacez des textes sur plusieurs documents Word en même temps avec le code VBA
Trouvez et remplacez facilement différents textes sur plusieurs documents en même temps avec Kutools for Word


Recherchez et remplacez des textes sur plusieurs documents Word en même temps avec le code VBA

1. presse autre + F11 ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérerModule, puis copiez le code VBA suivant dans la fenêtre Module.

Code VBA: recherche et remplacement du même contenu sur plusieurs documents à la fois

Sub CommandButton1_Click()
'Updated by Extendoffice 20180625
Dim xFileDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
Dim xFindStr As String
Dim xReplaceStr As String
Dim xDoc As Document
On Error Resume Next
Set xFileDialog = Application.FileDialog(msoFileDialogFilePicker)
With xFileDialog
    .Filters.Clear
    .Filters.Add "All WORD File ", "*.docx", 1
    .AllowMultiSelect = True
    i = 1
    If .Show = -1 Then
        For Each stiSelectedItem In .SelectedItems
            GetStr(i) = stiSelectedItem
            i = i + 1
        Next
        i = i - 1
    End If
    Application.ScreenUpdating = False
    xFindStr = InputBox("Find what:", "Kutools for Word", xFindStr)
    xReplaceStr = InputBox("Replace with:", "Kutools for Word", xReplaceStr)
    For j = 1 To i Step 1
        Set xDoc = Documents.Open(FileName:=GetStr(j), Visible:=True)
        Windows(GetStr(j)).Activate
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = xFindStr  'Find What
            .Replacement.Text = xReplaceStr  'Replace With
            .Forward = True
            .Wrap = wdFindAsk
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Application.Run macroname:="NEWMACROS"
        ActiveDocument.Save
        ActiveWindow.Close
    Next
    Application.ScreenUpdating = True
End With
MsgBox "Operation end, please view", vbInformation
End Sub

3. appuie sur le F5 clé pour exécuter le code.

4. Dans l'ouverture DECOUVREZ , recherchez et sélectionnez les documents dans lesquels vous trouverez et remplacez le texte, puis cliquez sur le OK bouton. Voir la capture d'écran:

5. Dans le premier Kutools pour Word boîte de dialogue, entrez le texte que vous trouverez dans les documents dans le Trouvez ce que , puis cliquez sur le OK .

6. Dans le second Kutools pour Word boîte de dialogue, entrez le texte par lequel vous allez remplacer et cliquez sur le OK .

8. Cliquez sur l' OK bouton dans le prochain Microsoft Word boîte de dialogue pour terminer la recherche et le remplacement.

Dans ce cas, tous les mots «Word» dans les documents sélectionnés sont remplacés par «Excel» en même temps.


Trouvez et remplacez facilement différents textes sur plusieurs documents en même temps avec Kutools for Word

Ici, je recommande vivement le Rechercher et remplacer par lots caractéristique de Kutools pour Word. Avec cette fonctionnalité, vous pouvez facilement rechercher et remplacer différents textes dans plusieurs documents Word en même temps. Voyons comment appliquer cette fonctionnalité pour rechercher et remplacer des textes dans des documents.

Kutools pour Word : avec plus de 100 compléments Word pratiques, gratuit pour essayer sans limitation dans 60 jours.

1. Veuillez cliquer Kutools Plus > Rechercher et remplacer par lots pour activer la fonctionnalité.

2. dans le Rechercher et remplacer par lots boîte de dialogue, veuillez configurer comme suit.

  • 2.1) Cliquez sur le Ajouter une rangée bouton sous Rechercher et remplacer languette;
  • 2.2) Dans les champs de ligne créés:
A. Entrez le texte que vous trouverez dans la zone de texte du Find colonne
B. Saisissez le texte par lequel vous allez remplacer dans la zone de texte du remplacer colonne;
C. Spécifiez un type de recherche, où trouver le texte et une couleur pour mettre en évidence le texte selon vos besoins. Dans ce cas, je sélectionne Correspondance complète des mots, Document principal et une certaine couleur du Type de recherche, Retrouver dans et des tours Surligner Colonnes;
  • 2.3) Répétez les étapes 2.1 et 2.2 pour ajouter plus de textes que vous trouverez et remplacer;
  • 2.4) Cliquez sur le  bouton dans le Type de fichier section pour ajouter les documents Word dans lesquels vous trouverez et remplacez des textes;
  • 2.5) Cliquez sur le remplacer or Find bouton. Voir la capture d'écran:

Notes:
1. Si vous cliquez sur le Find bouton, tous les résultats de recherche seront affichés sous le Résultat de la prévisualisation languette. Après avoir prévisualisé les résultats, si vous souhaitez remplacer tous les textes, cliquez sur le bouton Rechercher et remplacer languette. Sinon, fermez la boîte de dialogue.

2. Si vous cliquez sur le remplacer bouton, tous les textes spécifiés seront remplacés par de nouveaux immédiatement, et les résultats seront également affichés sous le Résultat de la prévisualisation languette.

3. Si vous spécifiez des couleurs de surbrillance à l'étape 2, tous les textes remplacés seront mis en surbrillance avec les couleurs spécifiées et vous pourrez facilement les trouver en un coup d'œil dans les documents.

3. Fermer la Rechercher et remplacer par lots boîte de dialogue

Pour plus d'informations sur cette fonctionnalité, veuillez Cliquez ici ....

Si vous souhaitez avoir un essai gratuit de cet utilitaire, rendez-vous sur télécharger gratuitement le logiciel d'abord, puis appliquez l'opération selon les étapes ci-dessus.


Outils de productivité Word recommandés

 

Kutools For Word - Plus de 100 fonctionnalités avancées pour Word, économisez 50% de votre temps

  • Les opérations compliquées et répétées peuvent être effectuées une seule fois en quelques secondes.
  • Insérez simultanément plusieurs images dans des dossiers dans un document Word.
  • Fusionner et combiner plusieurs fichiers Word dans des dossiers en un seul avec l'ordre souhaité.
  • Divisez le document actuel en documents séparés selon l'en-tête, le saut de section ou d'autres critères.
  • Convertissez des fichiers entre Doc et Docx, Docx et PDF, collection d'outils pour les conversions et la sélection courantes, etc.
Commentaires (70)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Demandera-t-il où se trouvent les documents en question? Ou est-ce que tous les documents doivent être ouverts ?
Ce commentaire a été minimisé par le modérateur sur le site
Lorsque vous l'exécutez, il ouvre par défaut la fenêtre de dialogue "Ouvrir un fichier" sur "Mes documents". Accédez au dossier contenant les fichiers Word auxquels vous souhaitez apporter les modifications. Vous pouvez appuyer sur "Ctrl" + "A" pour sélectionner tous les fichiers ou maintenir la touche "Ctrl" enfoncée lors de la sélection de certains fichiers. Cliquez sur "Ouvrir" ou appuyez sur "Entrée" et regardez la magie opérer.
Ce commentaire a été minimisé par le modérateur sur le site
Oui, j'ai la même question car je pense que cela serait utile, mais je veux lui dire de ne regarder que dans certains dossiers.
Ce commentaire a été minimisé par le modérateur sur le site
Lorsque vous exécutez la macro, la fenêtre "Ouvrir" s'ouvre. Naviguez jusqu'au dossier contenant les fichiers à modifier, puis cliquez une fois sur le premier, puis, tout en maintenant la touche "Ctrl" enfoncée, cliquez sur les autres fichiers nécessitant également le rechercher/remplacer. Si tous les fichiers du dossier nécessitent l'action, appuyez simplement sur les touches "Ctrl" et "A". Cliquez ensuite sur "Ouvrir" ou appuyez sur la touche "Entrée", et la macro commencera. Je dois vous avertir, car j'ai effectué cela des dizaines de fois au travail : la macro entraînera les modifications apportées uniquement au *corps* du document Word ; les en-têtes, pieds de page et texte de titre/texte alternatif seront exclus. Si vous avez du texte dans les parties susmentionnées qui doit être remplacé, vous devrez effectuer une recherche/remplacement standard dans les documents individuels.
Ce commentaire a été minimisé par le modérateur sur le site
Cette technique VBA pourrait-elle être adaptée pour fonctionner avec les fichiers Publisher ? Par exemple en changeant *.docx en *.pub ?
Ce commentaire a été minimisé par le modérateur sur le site
Wow tu es un saint pour avoir assemblé cette macro ! J'écoute "Epic Battle Music" sur Songza parce que je suis un grand amateur de macro-forgerons et que c'est la seule façon de surmonter la douleur et l'agonie de la création de sorts de programmation. Quoi qu'il en soit, ce que je vais dire, c'est que j'ai passé beaucoup de temps vendredi à dépanner la partie où vous mettez réellement le texte que vous voulez trouver et à mettre le texte que vous voulez remplacer - je n'ai pas bien compris cette partie dans termes de l'endroit où je mets mon texte de mot "trouver" et mon texte de mot "remplacer": [citation] à appliquer pour le remplacement. [/quote] J'ai relu cela aujourd'hui et je souhaite clarifier respectueusement pour les autres non-initiés à la programmation - dans la section de VBA où vous avez copié et collé le langage de programmation d'origine, assurez-vous de mettre une fin ' après le ce qu'elle vous dit. Recherchez des informations adaptées à l'âge des enfants et examinez-les ensemble. et un ' après le avec (voir exemple ci-dessous) - dans mon exemple, je recherche plusieurs documents pour remplacer Pizza par Stromboli : .Text = "Pizza" 'Find What' .Replacement.Text = "Stromboli" 'Replace With'
Ce commentaire a été minimisé par le modérateur sur le site
Lorsque je l'exécute, il se bloque et s'arrête à : Application.Run macroname:="NEWMACROS" et lorsque j'y entre, il me dit que j'ai une erreur de compilation : argument nommé introuvable. Maintenant quoi?
Ce commentaire a été minimisé par le modérateur sur le site
A fonctionné comme un charme et cela m'a fait économiser beaucoup de temps et d'efforts. Merci.
Ce commentaire a été minimisé par le modérateur sur le site
Je n'arrive toujours pas à faire fonctionner cela sur mon PC exécutant Windows 7. Lorsque je l'exécute, j'obtiens un message d'erreur à la ligne : -Windows(GetStr(j)).Activer le message d'erreur. est : -Erreur de compilation : -Sub ou Function not defined Une idée pourquoi ? Et comment y remédier ?
Ce commentaire a été minimisé par le modérateur sur le site
C'est ce qui a finalement fonctionné pour moi. J'espère que cela aide. J'ai ajouté cette macro à un fichier Word. Il exécutera le remplacement de tous les documents sélectionnés (vous pouvez en sélectionner autant que vous le souhaitez) lorsque la boîte de dialogue de fichier est ouverte. Cela ne fonctionnera pas sur les sous-dossiers, j'ai donc créé chaque dossier dans la structure de fichiers individuellement, mais cela a fonctionné. Ce n'est peut-être pas la meilleure solution, mais cela fonctionne au moins. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 fichiers est le maximum en appliquant ce code On Error Resume Next Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Remplacez cette extension de fichier par le type de document approprié. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Étape 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting 'Section puis soit l'une soit l'autre des sections de code à suivre.
Ce commentaire a été minimisé par le modérateur sur le site
Vous ajoutez ensuite l'une des deux sections suivantes selon qu'il s'agit d'un test ou d'un lien hypertexte à remplacer '~~> Cette section, si elle n'est pas commentée, remplacera le texte - SEULEMENT UNE DES DEUX SECTIONS PEUT ÊTRE DÉCOMMENTÉE À LA FOIS Avec Selection.Find .Text = " http://www.google.co.uk" 'Rechercher quoi .Replacement.Text = "http://www.google.com" 'Remplacer par .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Remplacer :=wdReplaceAll Application.Run macroname :="NEWMACROS" = True End With MsgBox "operation end, please view", vbInformation '~~> Cette section, si elle n'est pas commentée, remplacera les hyperliens 'For i = 1 To doc.Hyperlinks.Count ' 'Si l'hyperlien correspond. ' Si LCase(doc.Hyperlinks(i).Address) = "http://www.google.co.uk/" Then ' 'Modifiez l'adresse des liens. ' doc.Hyperlinks(i).Address = "https://www.google.com" ' 'Modifiez le texte d'affichage des liens si vous le souhaitez. ' doc.Hyperlinks(i).TextToDisplay = "http://www.google.com" ' End If ' Next 'Application.Run macroname:="NEWMACROS" 'ActiveDocument.Save 'ActiveDocument.Close 'Next 'Application.ScreenUpdating = True 'End With 'MsgBox "Fin de l'opération, veuillez consulter", vbInformation End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Pia, j'essaie d'exécuter votre script pour remplacer les hyperliens mais j'obtiens des erreurs. Avez-vous une chance de publier le script pour remplacer les hyperliens en un seul morceau ? Je dois gâcher quelque chose en essayant de patcher votre code ensemble.
Ce commentaire a été minimisé par le modérateur sur le site
Il ne s'exécute que sur les fichiers sélectionnés et les fichiers doivent se trouver dans un seul dossier. Ceci est exécuté comme une macro dans un document Word. Il est exécuté à partir d'un clic sur un bouton. Il ne fait que mettre à jour Word doc's Hope, cela aide. Private Sub CommandButton1_Click() Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 fichiers est le maximum en appliquant ce code On Error Resume Next Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear '~~> Remplacez cette extension de fichier par le type de document approprié. .Filters.Add "All WORD File", "*.doc", 1 .AllowMultiSelect = True i = 1 If .Show = -1 Then For Each stiSelectedItem In .SelectedItems GetStr(i) = stiSelectedItem i = i + 1 Next i = i - 1 End If Application.ScreenUpdating = False For j = 1 To i Étape 1 Set doc = Documents.Open(FileName:=GetStr(j), Visible:=True) Windows(GetStr(j)).Activate Selection. Find.ClearFormatting Selection.Find.Replacement.ClearFormatting For i = 1 To doc.Hyperlinks.Count 'Si le lien hypertexte correspond. Si LCase(doc.Hyperlinks(i).Address) = "http://www.yahoo.co.uk/" Alors 'Modifiez l'adresse des liens. doc.Hyperlinks(i).Address = "https://www.google.co.uk" 'Modifiez le texte d'affichage des liens si vous le souhaitez. " fin de l'opération, veuillez consulter", vbInformation End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Cela a parfaitement fonctionné et m'a fait gagner beaucoup de temps. Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Cela a très bien fonctionné pour le mot dans le corps du document mais n'a pas remplacé le même mot dans l'en-tête. Des idées. Merci
Ce commentaire a été minimisé par le modérateur sur le site
Je veux changer le format du texte de remplacement. c'est-à-dire que "Pizza" doit être remplacé par "Burger". Comment peut-on y arriver?
Ce commentaire a été minimisé par le modérateur sur le site
Big THX 4 le code... mais aussi ce prblm avec les en-têtes... pas de changement Merci d'avance
Ce commentaire a été minimisé par le modérateur sur le site
Merci d'avoir posté ça ! J'ai effectué quelques tests et je l'ai fait fonctionner pour moi; cependant, cela ne fonctionne pas sur le texte des en-têtes et des pieds de page pour une raison quelconque. Existe-t-il un correctif pour cela?
Ce commentaire a été minimisé par le modérateur sur le site
Je suis désolé mais je n'ai aucune idée des en-têtes ou du format. Ce n'était pas quelque chose que j'avais besoin d'inclure dans mon code. Je ne l'avais jamais utilisé auparavant et le code que j'ai posté a été extrait du code original ci-dessus, puis modifié à l'aide du code trouvé dans d'autres recherches jusqu'à ce que cela fonctionne. Je suis désolé, je ne peux pas être d'une plus grande aide.
Ce commentaire a été minimisé par le modérateur sur le site
Je le teste depuis quelques minutes et c'est vraiment une merveille, merci ! J'ai besoin d'effectuer plusieurs routines "rechercher et remplacer" pour plusieurs fichiers. Des dizaines de routines pour des dizaines de fichiers. Existe-t-il un moyen de "sauvegarder" le module afin que je n'aie pas besoin de le coller à nouveau sur l'écran VBA chaque fois que je dois effectuer une nouvelle routine ?
Ce commentaire a été minimisé par le modérateur sur le site
Est-il possible de modifier cette macro pour effectuer plusieurs positions "rechercher et remplacer" à la fois ? Il y a plusieurs mots et phares que je dois remplacer et à partir de maintenant, je dois réinsérer le code VBA pour chaque instance. Je suis un noob concernant ces choses
Ce commentaire a été minimisé par le modérateur sur le site
Ce code m'a fait gagner tellement de temps... alors, merci ! Une chose cependant - existe-t-il un moyen d'augmenter le nombre de mots que la macro trouve/remplace ? J'ai besoin de rechercher/remplacer plusieurs paragraphes à la fois et la macro semble avoir une limite d'environ 200 caractères.
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés