Création automatique d’une liste d’acronymes (Microsoft Word)
Karl travaille dans une profession qui utilise beaucoup d’acronymes. Leur procédure standard consiste à définir l’acronyme uniquement la première fois qu’il est utilisé dans le document. De plus, ils doivent toujours créer une annexe, à la fin du document, répertoriant les acronymes par ordre alphabétique ainsi que leur signification. Karl cherche peut-être un moyen de « marquer »
l’acronyme dans le corps principal et l’appendice acronyme sont créés automatiquement.
Il n’existe aucun moyen de le faire directement dans Word. Il existe plusieurs types de tables que vous pouvez créer automatiquement, telles que les tables des matières, les tables de références et les index. Ces deux dernières tables (tables de références et index) pourraient éventuellement être utilisées pour créer la liste d’acronymes, mais seulement si elles ne sont pas déjà ajoutées à votre document et seulement si cela ne vous dérange pas votre liste d’acronymes avec les numéros de page.
Si vous souhaitez utiliser l’outil de table des autorités afin de créer une liste d’acronymes, Shauna Kelly a rédigé un excellent article sur la façon dont cela peut être fait. L’article parle spécifiquement des glossaires, ce qui serait essentiellement une liste d’acronymes.
http://www.ShaunaKelly.com/word/glossary/glossary.html
Si vous souhaitez utiliser l’outil d’index pour créer votre liste, vous pouvez suivre ces étapes générales, en supposant que l’acronyme, une fois défini, est suivi de sa signification entre parenthèses:
-
Sélectionnez l’acronyme et sa signification. Cela signifie que vous trouvez la première instance de l’acronyme dans votre document, puis sélectionnez cet acronyme ainsi que la signification entre parenthèses qui le suit.
-
Appuyez sur Alt + Maj + X pour marquer le texte sélectionné pour l’index.
-
Répétez les étapes 1 et 2 pour les autres acronymes souhaités dans votre liste.
-
À la fin de votre document, insérez votre index. Comment insérer réellement un index a été traité dans d’autres numéros de WordTips.
Vous noterez que cette approche laisse les parenthèses dans votre index. Si vous ne voulez pas de parenthèses, vous devrez accéder à chaque acronyme que vous avez marqué et afficher le code de champ utilisé pour l’index. Cela ressemblera à quelque chose comme ceci:
{ XE "abbrev (this is the definition)" }
Dans le code de champ, vous pouvez supprimer les parenthèses afin que le texte apparaisse exactement comme vous le souhaitez dans la liste d’acronymes. Si vous utilisez la méthode ci-dessus pour marquer uniquement la première instance de l’acronyme (là où il a été défini pour la première fois), il y aura un seul numéro de page pour chaque acronyme dans votre liste. Si vous aimez l’idée d’avoir des numéros de page, mais que vous les voulez pour toutes les instances de chaque acronyme, vous devrez marquer chaque occurrence des acronymes, une tâche beaucoup plus complexe.
Si vous préférez ne pas utiliser l’une des méthodes déjà décrites, vous pouvez créer une macro qui vous aidera à créer votre liste d’acronymes. La macro suivante copie essentiellement le texte que vous avez mis en surbrillance à la fin du document.
Sub Send_2_acronym_list() With ActiveDocument.Bookmarks .Add Range:=Selection.Range, Name:="xxxHERExxx" .DefaultSorting = wdSortByName .ShowHidden = True End With Selection.Copy Selection.EndKey Unit:=wdStory Selection.TypeParagraph Selection.PasteAndFormat (wdPasteDefault) Selection.GoTo What:=wdGoToBookmark, Name:="xxxHERExxx" Application.Run MacroName:="Normal.MoreNewMacros.EditGoTo" Selection.MoveRight Unit:=wdCharacter, Count:=1 End Sub
L’idée est de sélectionner votre première instance de l’acronyme, ainsi que sa définition, puis d’appeler la macro. Un signet est défini à l’emplacement actuel, le texte est copié, la fin du document est sélectionnée et le texte y est ajouté. Ensuite, le signet est utilisé pour que l’emplacement d’origine puisse à nouveau être sélectionné.
Lorsque vous avez terminé de « marquer » vos acronymes de cette manière, vous pouvez sélectionner le texte qui a été copié à la fin du document et le formater (ou le modifier) de la manière souhaitée.
Si vous souhaitez une approche encore plus automatisée, vous pourrez peut-être créer une macro qui analysera votre document et extraira les acronymes trouvés. Pour qu’une telle approche fonctionne, vous devez vous assurer que vous suivez religieusement une structure rigide pour vos acronymes et leurs définitions. La macro suivante suppose que l’acronyme sera toujours une chaîne de lettres majuscules suivie d’un espace puis d’un texte entre parenthèses.
Sub ListAcronyms() Dim strAcronym As String Dim strDefine As String Dim strOutput As String Dim newDoc As Document Application.ScreenUpdating = False Selection.HomeKey Unit:=wdStory ActiveWindow.View.ShowHiddenText = False 'Loop to find all acronyms Do 'Search for acronyms using wildcards Selection.Find.ClearFormatting With Selection.Find .ClearFormatting .Text = "<[A-Z]@[A-Z]>" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = True .MatchWildcards = True .MatchWholeWord = True .Execute End With 'Only process if something found If Selection.Find.Found Then 'Make a string from the selection, add it to the 'output string strAcronym = Selection.Text 'Look for definition Selection.MoveRight Unit:=wdWord Selection.MoveRight Unit:=wdCharacter, _ Extend:=wdExtend strDefine = "" If Selection.Text = "(" Then While Selection <> ")" strDefine = strDefine & Selection.Text Selection.Collapse Direction:=wdCollapseEnd Selection.MoveRight Unit:=wdCharacter, _ Extend:=wdExtend Wend End If Selection.Collapse Direction:=wdCollapseEnd If Left(strDefine, 1) = "(" Then strDefine = Mid(strDefine, 2, Len(strDefine)) End If If strDefine > "" Then 'Check if the search result is in the Output string 'if it is, ignore the search result If InStr(strOutput, strAcronym) = 0 Then strOutput = strOutput & strAcronym _ & vbTab & strDefine & vbCr End If End If End If Loop Until Not Selection.Find.Found 'Create new document and change active document Set newDoc = Documents.Add 'Insert the text Selection.TypeText Text:=strOutput 'Sort it newDoc.Content.Sort SortOrder:=wdSortOrderAscending Application.ScreenUpdating = True Selection.HomeKey Unit:=wdStory End Sub
La macro recherche dans le document tout ce qu’elle pense être un acronyme. S’il trouve un candidat, il le recherche pour voir s’il est suivi d’une parenthèse ouvrante. Si tel est le cas, tout ce qui va jusqu’à la parenthèse fermante est considéré comme la définition de l’acronyme. Une fois que la macro a terminé de parcourir le document, elle crée un nouveau document, y ajoute les acronymes, puis les trie tous.
_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 (446) 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-Auto_Creation_of_an_Acronym_List [Création automatique d’une liste d’acronymes]
.