L'exemple suivant permet de réaliser un index en fin de document de toutes les lignes en caractères gras de taille 14.
Le code insère un "index" à chaque ligne correspondant à ces critères puis insère en fin de document la table des matières correspondante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 Sub CréerUnIndexAPartirDesLignesEnGras()
    Selection.HomeKey Unit:=wdStory 'On se place en début de document
    With Selection.Find
        .ClearFormatting
        .Font.Bold = True
        Do While .Execute(FindText:="", Forward:=True, Wrap:=wdFindStop) = True
            If .Font.Bold = True And Selection.Font.Size = 14 Then
 
                'insertion d'un index
                ActiveDocument.Indexes.MarkEntry Range:=Selection.Range, _
                    Entry:=Selection.Range.Text
                'Passage à la ligne suivante
                Selection.MoveDown Unit:=wdParagraph, Count:=1
            Else
                Exit Do
            End If
 
        Loop
    End With
 
    'INSERTION D'UN INDEX EN FIN DE DOCUMENT (fait référence aux index insérés)
    Selection.EndKey Unit:=wdStory  'L'index sera placé en fin de doc...
    'insertion d'un saut de page
    Selection.InsertBreak Type:=wdPageBreak '... sur la page suivante
    'il aura une seule colonne et les N° de pages seront placés à droite
    With ActiveDocument
        .Indexes.Add Range:=Selection.Range, HeadingSeparator:= _
            wdHeadingSeparatorNone, Type:=wdIndexIndent, RightAlignPageNumbers:= _
            True, NumberOfColumns:=1, IndexLanguage:=wdFrench
        .Indexes(1).TabLeader = wdTabLeaderDots
    End With
End Sub