On peut supposer que les sigles sont des mots en MAJUSCULES.
Word 2002-2003
Pour copier tous les sigles à la fin du document, il suffit d'une simple Recherche (Rechercher). On va ensuite simplement copier et coller le résultat de la recherche.
Cette solution est valable uniquement pour les anciennes versions jusqu'à 2003.
- Ctrl + F pour afficher la boîte de dialogue Rechercher (ou Menu Edition, Rechercher)
- Si nécessaire cliquez sur le bouton Plus pour afficher toutes les options
- Cochez l'option Utiliser les caractères génériques
- Complétez la zone Recherche par : <[A-Z]{2;}>
en clair: rechercher les mots entiers comportant 2 ou plus caractères majuscules A à Z - Cochez Surligner tous les éléments trouvés dans document puis cliquer sur le bouton Rechercher tout :
- Tous les éléments étant trouvés, sortez de la boîte de dialogue Recherche par un simple clic n'importe où dans le document où les sigles sont surlignés,
- Ctrl + C pour copier
- Positionnrez le curseur à l'endroit où vous souhaitez obtenir la liste des sigles, et Ctrl+V pour Coller.
- Fermez la boîte de dialogue Rechercher.
Si vous souhaitez automatiser cela par une macro, voyez la solution pour les versions récentes.
Word 2007 et ultérieur
Depuis la version 2007, il n'est plus possible d'utiliser la solution simple du Recherche-remplace, car cette fonctionnalité permet de surligner mais pas de sélectionner. Donc impossible de copier et de coller.
Il faut donc une macro. A noter que cette macro fonctionne avec toutes les versions :
Sub sigles()
'macro écrite par m@rina
Dim Sigle As String, Liste As String, ND As Document
Application.ScreenUpdating = False
Selection.HomeKey Unit:=wdStory
'Recherche de tous les mots en majuscules
Do
Selection.Find.ClearFormatting
With Selection.Find
.ClearFormatting
.Text = "<[A-Z]{2;}>"
.Forward = True
.Wrap = wdFindStop
.MatchCase = True
.MatchWildcards = True
.Execute
End With
If Selection.Find.Found Then
Sigle = Selection.Text
If InStr(Liste, Sigle) = 0 Then
Liste = Liste & Sigle & vbCr
End If
End If
Loop Until Not Selection.Find.Found
'On crée le nouveau doc et on y insère les textes trouvés
Set ND = Documents.Add
Selection.TypeText Text:=Liste
End Sub
NB : on suppose qu'un sigle est un mot en majuscules composé d'au moins deux lettres. Vous pouvez augmenter le nombre de lettres en remplaçant le chiffre 2 par le nombre de votre choix dans l'expression <[A-Z]{2;}>