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;}>