L’une des opérations les plus courantes à effectuer lors de la création d’une macro est de répéter un bloc d’actions pour chaque occurrence de quelque chose dans un fichier. Cela peut sembler étrange, mais ceux qui programment connaissent très bien la situation: vous devez rechercher dans un fichier, puis entreprendre une action, répéter la recherche et répéter l’action, et ainsi de suite jusqu’à la fin du fichier. L’approche générale est la suivante:

Selection.HomeKey Unit:=wdStory [set up for your search]

Selection.Find.Execute While Selection.Find.Found     [take some action]

Selection.Find.Execute Wend

La première ligne de cet exemple se place au début du document.

Vous utilisez ensuite toutes les commandes nécessaires pour configurer votre recherche. Lorsque la ligne Selection.Find.Execute est rencontrée, Word effectue la recherche réelle. Ensuite, Selection.Find.Found est utilisé pour contrôler la boucle While …​ Wend. Cette propriété (Selection.Find.Found) est définie sur True chaque fois qu’une recherche exécutée aboutit à la recherche d’un élément. Ainsi, toute la boucle While …​ Wend est répétée encore et encore, tant que tout ce que vous recherchez continue à être trouvé. En tant que dernière étape de la boucle, l’instruction Selection.Find.Execute est utilisée pour effectuer à nouveau la recherche.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

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 (13072) s’applique à Microsoft Word 2007, 2010, 2013, 2016, 2019 et Word dans Office 365. Vous pouvez trouver une version de cette astuce pour le ancienne interface de menu de Word ici:

link: / word-Repeating_In_a_Macro [Répéter dans une macro].