Utilisation détaillée de la fonction Rechercher/Remplacer de Word

Sepia

La commande Rechercher/Remplacer dans Word. Cet article a pour but de vous aider à utiliser la fonction rechercher et remplacer de Word.

- Titre : Utilisation détaillée de la fonction Rechercher/Remplacer de Word

- Auteur : Sepia

- Parution : 25 octobre 2008

- Licence : Copyright ® 2008 Jean-François Jousseaume. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 0. Introduction

- 1. Utilisation Standard

- Sens

- Mode

- Respect de la casse

- Mot entier

- Format

- 2. Utilisation étendue

- 2-A. Utilisation des différents caractères "spéciaux"

- 2-B. Utilisation des caractères "génériques"

- 3. Quelques exemples souvent rencontrés

- 4. Restrictions & bugs

- 5. Tableau des caractères utilisables dans la fonction rechercher/remplacer

- 6. Remerciements

0 - Introduction

Dans ce tutoriel, je vais vous décrire les fonctions assez puissantes de rechercher/remplacer de Word.
En effet, il n'est pas rare d'avoir besoin de reprendre un document provenant d'une autre organisation, d'un autre service... ou d'en créer à partir d'un existant mais dans lesquels il faut effectuer des changements globaux (formats de date, noms des personnes, logo de la société...).

1 - Utilisation Standard

Pour effectuer une recherche, lancez la commande <Ctrl>+F sur PC et Commande-F (Pomme-F) sur Mac et pour une recherche avec remplacement, lancez <Ctrl>+H sur PC et Commande-R (Pomme-R) sur Mac.

Les options standards de rechercher/remplacer sont combinables entre elles :

Sens

- Vers le bas : la recherche part du point d'insertion (l'endroit où l'utilisateur est positionné dans le document) jusqu'à la fin du document.

- Vers le haut : la recherche part du point d'insertion (l'endroit où l'utilisateur est positionné dans le document) jusqu'au début du document.

- Tous : la recherche part du point d'insertion (l'endroit où l'utilisateur est positionné dans le document) jusqu'à la fin du document et reprend au début du document pour revenir au point d'insertion.

Seule l'utilisation de l'option "Tous" permet de rechercher dans les zones d'entête, de pied de page, de notes…

Mode

- Séquentiel : la commande s'effectue occurrence après occurrence en fonction du sens.

- Global : la commande s'effectue sur l'ensemble du document en fonction du sens.

Respect de la casse

Les textes de recherche et de remplacement respectent la différence entre les majuscules et les minuscules

- Dans le cas, où l'option "Respecter la casse" n'est pas sélectionnée, Word recherche sans distinguer les majuscules et les minuscules, et lorsqu'il trouve, il remplace et respecte les majuscules trouvées dans le texte.

Exemple : avec un texte de recherche "sable" et un texte de remplacement "table", Word trouve "sable" et "SABLE" et le remplace par "table" ou "TABLE"

- Dans le cas, où l'option "Respecter la casse" est sélectionnée, Word recherche en distinguant les majuscules et les minuscules, et lorsqu'il trouve, il remplace en respectant les majuscules telles qu'elles sont saisies dans le texte de remplacement.

Exemple : avec un texte de recherche "sable" et un texte de remplacement "Table", Word trouve "sable" et le remplace par "Table" et ne trouve pas "SABLE"

Mot entier

Cette option n'est pas disponible si vous avez tapé un espace dans le texte

Exemple : avec un texte de recherche "sable", Word trouve "sable" et ne trouve ni "sables", ni "sableur" ni "ensabler"

Format

La recherche et/ou le remplacement s'effectue conformément à une mise en forme.

- Police : la recherche et/ou le remplacement s'effectuent sur le texte en fonction de la police et de ses attributs (taille, gras, italique, couleur, soulignement) ou de l'espacement.

Exemple : pour remplacer "sable" en gras par "table" en italique, il ne faut pas oublier de sélectionner italique et non gras dans la zone de remplacement

- Paragraphes : la recherche et/ou le remplacement s'effectuent sur le texte en fonction des valeurs des retraits, des espaces avant et après de l'alignement, des enchainements de paragraphes.

- Tabulations : la recherche et/ou le remplacement s'effectuent sur le texte en fonction des valeurs de tabulation.

- Langue : la recherche et/ou le remplacement s'effectuent sur le texte en fonction de la langue.

Exemple : permet de remplacer "sand" en anglais par "sable" en français mais évidemment ce n'est pas une fonction de traduction.

- Cadre : la recherche et/ou le remplacement s'effectuent sur le texte en fonction des valeurs des cadres

- Styles : la recherche et/ou le remplacement s'effectuent sur le texte en fonction du style

Exemple : avec un texte de recherche "sable" en "Titre 1", Word trouve "sable" uniquement dans les titres de niveau 1 mais pas dans le texte en style "normal"

Si vous êtes en mode "Plan", la recherche ne porte que sur ce que vous affichez, donc avec un texte de recherche "sable" dans le corps du texte, et un affichage en plan de niveau quelconque, Word ne trouve pas le texte sauf si celui est dans vos titres

Exemple Pour supprimer toutes les occurrences d'un texte, n'entrez pas de valeur dans la zone "Remplacer par"

2 - Utilisation étendue

L'utilisation de la commande rechercher/remplacer étendue de Word peut s'effectuer via 2 moyens : les valeurs spéciales et les caractères génériques, 2 options situées dans la boîte de recherche.

Word est capable de gérer des formes d'expressions régulières via les caractères génériques mais n'est pas aussi puissant que la manipulation des regex dans PHP, par exemple

2-A - Utilisation des différents caractères "spéciaux"

Cette option permet d'effectuer des recherches sur des marques dans le document, comme les sauts de page, les marques de paragraphes… :

Les caractères spéciaux de recherche sont précédés du caractère "^". Les principaux caractères spéciaux de recherche sont :

- ^p = Marque de paragraphe

- ^t = Marque de tabulation

- ^? = Tout caractère (y compris les blancs)

- ^# = Tout chiffre (attention, il ne faut pas confondre avec tout nombre)

- ^$ = Toute lettre

- ^l = Saut de ligne manuel

- ^m = Saut de page manuel

- ^b = Saut de section

- ^s = espace insécable

- ^g = Graphisme

Cette option ne fonctionne qu'avec les graphismes inclus dans le texte mais pas les avec flottants (ceux des zones)

- ^nnn = avec nnn comme code du caractère ASCII

- ^0nnn = avec nnn comme code du caractère ANSI

- ^Unnnn = avec nnnn comme code du caractère Unicode

- ^w = espacement c'est-à-dire toute combinaison d'espaces, de tabulations, d'espaces insécables

- ^e = appel de note de fin

- ^f = appel de note de bas de page

- ^d = champ (ne fonctionne que si vous avez affiché les codes des champs pas leurs valeurs)

Exemple : Rechercher un paragraphe qui commence par "Utilisation des différents caractères" => utilisez une commande Rechercher "^pUtilisation des différents caractères"

Exemple : Rechercher un mot qui contient "-" suivi d'un chiffre => utilisez une commande Rechercher "-^?"

Exemple : Supprimer tous les espacements qui suivent une tabulation => utilisez une commande Remplacer avec le texte de recherche suivant "^t^w" et le texte de remplacement "^t" en utilisant l'option "Remplacer tout"

Exemple : Supprimer tous les paragraphes vides => utilisez une commande Remplacer avec le texte de recherche suivant "^p^p" et le texte de remplacement "^p" en utilisant l'option "Remplacer tout"
Recommencez autant de fois que nécessaire

Il existe 2 caractères spéciaux de recherche très particuliers disponibles uniquement pour le texte de remplacement

- ^c = contenu du presse-papier

- ^& = contenu de la recherche

Exemple : Vous voulez copier un tableau à chaque fois que vous rencontrez le mot "bilan" marqué en gras => vous créez votre tableau une fois en début de votre document, vous le sélectionnez et vous le coupez, puis vous lancez une commande de remplacement avec le texte de recherche "bilan" avec l'option de format de police "gras" et le texte de remplacement "^&^s^c" avec l'option "Remplacer Tout" c'est-à-dire le texte recherché suivi d'un espace insécable et le contenu du presse-papier donc le tableau

Exemple : Vous avez déplacé votre fichier qui contient des références à des images liées et vous voulez reconstruire le nouveau chemin d'accès à vos images => insérez une image avec le nouveau chemin, affichez les codes de champ (menu "outils-options onglet affichage"), sélectionnez le nouveau chemin d'accès, copiez-le et utilisez la commande Remplacer avec le texte de recherche "INCLUDEPICTURE^w<Ancien_chemin_d'accès>" et le texte de remplacement "INCLUDEPICTURE &c" avec l'option "Remplacer Tout", puis vous modifiez à nouveau l'option d'affichage

2-B - Utilisation des caractères "génériques"

Cette option permet d'effectuer des recherches basées sur une description des textes selon des règles. En informatique, on appelle ces textes avec leurs règles des expressions régulières (regex ou regexp).

Mais Word n'est pas aussi puissant que PHP pour la manipulation des regex et a quelques soucis en Word 2003 (cf. Restrictions & Bugs).

N'oubliez pas que si Word ne donne pas satisfaction, les macros et VB/VBA peuvent compléter ce qui manque via la bibliothèque Microsoft VBScript Regular Expressions et DVP.com possède un très bon tutoriel sur le sujet intitulé "Les Expressions Rationnelles appliquées en VBA Access" réalisé par Cafeine.

Les recherches par caractères génériques respectent toujours la casse et donc les options "Respecter la casse" et "Mot entier" ne sont pas actives.

Avec le texte d'exemple suivant :
Le sale de la plage est fin
La table instable est dans la salle à manger
La maitresse lit la fable aux enfants
Est-ce que le bateau va s'ensabler sur le banc ?
Le potager est sale, il faut sarcler les rangs

Les principaux caractères génériques de recherche sont :

- ? vaut pour 1 caractère

Exemple ?able trouve dans l'ordre les mots sable, table, instable, fable et ensabler

- * vaut pour 0 ou plusieurs caractères

Exemple sa*le trouve dans l'ordre les mots sable, salle, ensabler, sale, sarcler

- [] vaut pour une Liste de caractères

Exemple [ft]able trouve dans l'ordre les mots table, instable, fable

- [ - ] vaut pour une Plage de caractères

Exemple [f-t]able trouve dans l'ordre les mots sable, table, instable, fable, ensabler

- < vaut pour un Début de mots

Exemple <sa trouve les mots sable, sale, salle, sarcler

- > vaut pour une Fin de mots

Exemple able> trouve dans l'ordre les mots sable, table, instable, fable

- [!] vaut pour une Liste de caractères à exclure

Exemple [!ft]able trouve dans l'ordre les mots sable, ensabler

- [! - ] vaut pour Plage de caractères à exclure

Exemple [!f-s]able trouve dans l'ordre les mots table, instable

- {n} vaut pour exactement n occurrences de l'expression précédente

Exemple [a-z]{3}le trouve dans l'ordre les mots sable, table, instable, salle, fable, ensabler, sarcler c'est-à-dire tous les mots d'au moins 5 lettres qui commencent par 3 lettres minuscules et se finissent par "le"

- @ vaut pour au moins une occurrence de l'expression précédente

Exemple [a-z]@le trouve dans l'ordre les mots sable, able (du mot sable), ble (du mot sable), table, able (du mot table), ble (du mot table), instable, nstable (du mot instable), stable (du mot instable), table (du mot instable), able (du mot instable), ble (du mot instable), salle, alle (du mot salle), lle (du mot salle), fable, able (du mot fable), ble (du mot fable), ensabler, nsable (du mot ensabler), sable (du mot ensabler), able (du mot ensabler), ble (du mot ensabler), sale, ale (du mot sale), sarcler, arcle (du mot sarcler), rcle (du mot sarcler), cle (du mot sarcler)

- Pour rechercher un caractère qui est un caractère générique, il faut le faire précéder d'une barre oblique inverse (\) avant ce caractère

Exemple c^s\? trouve banc ?

Avec les caractères génériques, certains caractères de la recherche standard ne sont plus utilisables

- ^13 vaut pour une Marque de paragraphe

- ^9 vaut pour une Marque de tabulation

Il existe 3 caractères génériques de recherche très particuliers disponibles uniquement pour le texte de remplacement

- ^c vaut pour le contenu du presse-papier

- ^& vaut pour le contenu de la recherche

- \n vaut pour nième expression de recherche entre parenthèses

3 - Quelques exemples souvent rencontrés

Vous voulez afficher tous les nombres de 5 chiffres avec un espace insécable pour séparer les milliers => vous utilisez une commande Remplacement avec le texte de recherche (<[0-9]{2})([0-9]{3}) et le texte de remplacement \1^s\2 insère un espace insécable après le 4ième de tous les nombres à 5 chiffres ainsi le nombre 12345 devient 12 345

Vous voulez remplacer les dates au format AAAA-MM-JJ en format JJ/MM/AAAA => utilisez une commande Remplacer avec l'option caractères génériques avec le texte de recherche "([0-9]{4})-([0-9]{2})-([0-9]{2})" et le texte de remplacement "\3/\2/\1"

Vous modifiez une nomenclature de documents existante commencée en 1992 de type DCX<Année codée AA><Mois codé MM>-<N° sur 5 chiffres-Version 1 seule lettre majuscule> (exemple de référence DCX9912-00123A) dans laquelle vous voulez insérer un texte renvoyant sur le contenu du document, changer le format de date pour le faire passer sur 4 chiffres et augmenter le nombre de documents pour avoir 6 chiffres => insérez un champ "DOCPROPERTY Subject", sélectionnez-le et copiez-le dans le presse-papier, puis utilisez une commande Remplacer avec l'option caractères génériques le texte de recherche "DCX9([2-9])([0-9]{2})-([0-9]{5})([A-Z])" et le texte de remplacement "DCX199\1\2-^c-0\3\4" pour les années 1992 à 1999 et avec le texte de recherche "DCX0([0-9])([0-9]{2})-([0-9]{5})([A-Z])" et le texte de remplacement DCX200\1\2-^c-0\3\4 pour les années 200x.

Vous voulez modifier l'entête de votre document qui possède plusieurs sections pour insérer dans chaque votre avatar ou le logo de votre société dans chaque entête à gauche et déplacer le texte à droite et supprimer votre nom ou celui de votre société situé à droite de l'entête, donc passer de
"Tutoriel sur la commande rechercher/remplacer de Word   <tab>   Sepia" à
"   <tab>   Tutoriel sur la commande rechercher/remplacer de Word"
sur la commande rechercher/remplacer de Word" => insérez votre image dans Word en début de document, sélectionnez-la et coupez-la pour la mettre dans le presse-papier, puis utilisez une commande Remplacer avec le texte de recherche "(Tutorial sur la com*)(^tSepia)" et l'attribut de mise en forme "Style = en-tête" et le texte de remplacement "^c^t\1"

4 - Restrictions & bugs

Les recherches avec alternative ne sont pas disponibles, c'est-à-dire la recherche du texte "sable" ou "table" (notée souvent "sable | table") et comme je suis gentil, je dirais que je ne l'ai pas encore trouvée

L'inclusion de texte optionnel dans les recherches n'est pas possible, c'est-à-dire les recherches de texte [a-z]{0;1}le dans Word 2003 envoient une boîte de dialogue "Le texte recherché contient un critère spécial qui n'est pas valide"

Les regroupements de blocs de recherches ne sont pas disponibles, c'est-à-dire la recherche avec le texte ((le){1}^w(sable){1})) dans Word 2003 ne trouve pas de résultat

Deux syntaxes admises en Word 2000 ont disparu dans la version 2003. De plus, certaines aides officielles de Microsoft sur Word comportent une erreur en indiquant l'usage du caractère "," au lieu du ";".
Word 2003 envoie une boîte de dialogue "Le texte recherché contient un critère spécial qui n'est pas valide" (L'aide porte assez mal son nom dans ce cas)

- {n;m} = recherche au moins n et au plus m occurrences de l'expression précédente

Contre-Exemple [a-z]{2;3}le trouve dans l'ordre les mots sable, table, instable, salle, fable, ensabler, sarcler mais ne trouve pas le mot sale

- {n;} = recherche au moins n occurrences de l'expression précédente

Contre-Exemple [a-z]{2;}le ne trouve rien (alors qu'il devrait trouver dans l'ordre les mots sable, table, instable, salle, fable, ensabler, sale, sarcler)

5 - Tableau des caractères utilisables dans la fonction rechercher/remplacer

Mode d'utilisation

Caractères

spéciaux

Caractères

génériques

Caractère concerné

Rechercher

Remplacer

Rechercher

Remplacer

Marque de paragraphe

^p

^p

^13

^13

Marque de tabulation

^t

^t

^9

^9

Tout caractère (y compris les blancs)

^?

?

Tout chiffre (attention, il ne faut pas confondre avec tout nombre)

^#

[0-9]

Toute lettre

^$

[a-z][A-Z]

Graphique

^g
^1

^g

Espace insécable

^s

^s

^s

^s

Espacement c'est-à-dire toute combinaison d'espaces, de tabulations, d'espaces insécables

^w

Saut de section

^b

^b

^12

^12

Saut de page manuel

^m

^m

^12

^12

Saut de ligne manuel

^l

^l

^11

^11

Saut de colonne manuel

^n

^n

^14

^14

Appel de note de fin

^e

Appel de note de bas de page

^f

Commentaire

^a
^5

Champ

^d

Accolade de début de champ

^19

Accolade de fin de champ

^21

Code du caractère ASCII
(avec nnn = valeur du caractère)

^nnn

^nnn

^nnn

^nnn

Code du caractère ANSI
(avec nnn = valeur du caractère)

^0nnn

^0nnn

^0nnn

^0nnn

Code du caractère Unicode
(avec nnnn = valeur du caractère)

^unnnn

^unnnn

^unnnn

^unnnn

Contenu du presse-papier

^c

^c

Contenu de la recherche

^&

^&

6 - Remerciements

Je tiens à remercier toutes les personnes qui m'ont aidé et conseillé de près ou de loin à la rédaction de cet article, et plus particulièrement Olivier Lebeau (Heureux-oli sur DVP) pour son aide sans qui cet article n'aurait jamais vu le jour.
Merci à mout1234 pour sa relecture approfondie.