Recherche et remplacement de masse (Microsoft Word)
Au fil du temps, il est tout à fait possible de collecter un grand nombre de documents. À un moment donné, vous souhaiterez peut-être apporter la même modification à chacun des documents de la collection. Par exemple, vous devrez peut-être changer le nom de la société dans chaque document. Évidemment, vous pouvez ouvrir chaque document, effectuer la modification, puis enregistrer le document, mais ce processus peut rapidement devenir fatigant si vous avez des centaines ou des milliers de documents à traiter.
Que faire? Conformément à ce qui a été fait dans d’autres numéros de WordTips, chaque fois que vous avez quelque chose de banal et de fastidieux à accomplir, vous pouvez souvent utiliser une macro pour gérer le travail à votre place. Par exemple, vous pouvez écrire une macro qui parcourt tous les documents d’un répertoire, charge chacun à son tour, recherche et modifie le texte nécessaire et réenregistre le document. Ce processus n’est pas différent du processus que vous suivriez manuellement, sauf qu’il est effectué sous le contrôle de la macro. Cela rend les choses beaucoup plus faciles et plus rapides.
Voici un exemple de macro qui pourrait faire l’affaire:
Public Sub MassReplace() With Application.FileSearch .LookIn = "C:\" ' where to search .SearchSubFolders = True ' search the subfolders .FileName = "*.doc" ' file pattern to match ' if more than one match, execute the following code If .Execute() > 0 Then ' to display how many files this macro will access, ' uncomment the next line of code ' MsgBox "Found " & .FoundFiles.Count & " file(s)." ' for each file you find, run this loop For i = 1 To .FoundFiles.Count ' open the file based on its index position Documents.Open FileName:=.FoundFiles(i) ' search and replace the company name selection.Find.ClearFormatting selection.Find.Replacement.ClearFormatting With selection.Find .Text = "OldCompanyName" .MatchCase = True .Replacement.Text = "NewCompanyName" End With selection.Find.Execute Replace:=wdReplaceAll ' replace street address With selection.Find .Text = "OldStreetAddress" .Replacement.Text = "NewStreetAddress" End With selection.Find.Execute Replace:=wdReplaceAll ' replace the City, State, and Zip code With selection.Find .Text = "OldCityStateAndZip" .Replacement.Text = "NewCityStateAndZip" End With selection.Find.Execute Replace:=wdReplaceAll ' save and close the current document ActiveDocument.Close wdSaveChanges Next i Else ' if the system cannot find any files ' with the .doc extension MsgBox "No files found." End If End With End Sub
Cette macro est assez puissante et vous permet non seulement de changer le nom d’une entreprise, mais également l’adresse de votre entreprise. Tout ce que vous avez à faire est d’apporter des modifications pour spécifier le répertoire et le lecteur à utiliser dans votre recherche, ainsi que les anciennes et nouvelles informations sur la société.
Si le traitement des macros dépasse un peu ce que vous souhaitez aborder, il existe également un certain nombre de produits commerciaux disponibles qui fonctionneront avec les documents Word. Plusieurs abonnés ont suggéré les programmes suivants:
-
WordFisher (http://www.wordfisher.com/wf4.htm)
-
Recherche et remplacement de mots (http://www.funduc.com/word_sr.htm)
-
Recherche et remplacement InfoRapid (http://www.inforapid.com/html/searchreplace.htm)
-
MegaReplacer (http://www.editorium.com/14843.htm)
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (1462) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:
lien: / wordribbon-Mass_Search_and_Replace [Mass Search and Replace]
.