Souligner automatiquement les références de section (Microsoft Word)
Agnès a demandé s’il existe un moyen de souligner automatiquement toutes les instances du mot «Section» et toute information auxiliaire après le mot.
Par exemple, un document peut contenir du texte tel que « Section 2.3 (b) (i) »
ou «Section 5.21» ou «Section 12.12 (a)» et Agnès veut trouver ce texte et le faire souligner.
Il y a plusieurs choses à essayer. Tout d’abord, vous pouvez effectuer une recherche et un remplacement standard, mais seulement si vous pouvez d’une manière ou d’une autre rendre le texte un peu plus «standard». Sans une sorte de modèle pouvant être mis en correspondance, il est pratiquement impossible de faire une recherche et un remplacement qui trouvera toutes les instances possibles du texte.
Une possibilité, cependant, est d’enregistrer une macro qui examine toutes les possibilités. Ce ne serait pas nécessairement une simple macro, car il faudrait trouver le mot « Section » suivi immédiatement par un espace, un chiffre, un point, plus de chiffres, et ensuite (facultativement) tout jusqu’à et y compris une parenthèse fermante. C’est pas mal d’analyse de texte qui doit avoir lieu.
Le point de départ est une recherche par caractères génériques. La phrase de recherche suivante trouvera le mot Section suivi d’un « numéro de point numérique »
motif:
Section [0-9]{1,}.[0-9]{1,}
Si ce modèle de recherche est utilisé dans une macro, la macro peut, après chaque recherche réussie du texte, commencer à développer ce qui a été trouvé et voir si elle contient des caractères entre parenthèses. La macro suivante effectuera cette tâche.
Sub ULWords() Selection.Find.ClearFormatting With Selection.Find .Text = "Section [0-9]{1,}.[0-9]{1,}" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = True .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute While Selection.Find.Found Selection.MoveRight Unit:=wdCharacter, _ Count:=1, Extend:=wdExtend While Right(Selection.Text, 1) = "(" Selection.MoveRight Unit:=wdCharacter, _ Count:=1, Extend:=wdExtend While Right(Selection.Text, 1) <> ")" Selection.MoveRight Unit:=wdCharacter, _ Count:=1, Extend:=wdExtend Wend Selection.MoveRight Unit:=wdCharacter, _ Count:=1, Extend:=wdExtend Wend Selection.MoveRight Unit:=wdCharacter, _ Count:=-1, Extend:=wdExtend Selection.Font.Underline = True Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Find.Execute Wend End Sub
Notez que la macro utilise une recherche par caractères génériques au début pour trouver toutes les instances du mot « Section » suivi du « nombre de points »
modèle. Si une instance est trouvée, elle est étendue d’un caractère.
Si ce caractère est une parenthèse ouvrante, la sélection est étendue jusqu’à ce qu’une parenthèse fermante soit trouvée. Ce processus de recherche des parenthèses ouvrantes / fermantes se poursuit et, lorsqu’il n’y a plus d’ensembles, toute la sélection étendue est soulignée. Ce processus se poursuit jusqu’à ce que tout le document ait été recherché.
_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 (497) 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:
link: / wordribbon-Underlining_Section_References_Automatically [Soulignant les références de section automatiquement]
.