Cette macro insère un saut de page à la fin du document et liste les signets présents dans le document sur cette nouvelle page. Il reste ensuite à imprimer la page.

 

Public Sub ListeSignets()
Dim Signet As Bookmark
With ActiveDocument.Content
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
For Each Signet In ActiveDocument.Bookmarks
.InsertAfter Signet.Name & vbCr
Next Signet
End With
End Sub

 

A partir de la collection des signets on peut, par exemple, associer un commentaire à chaque signet affichant le nom du signet :

 

Public Sub AfficheNomSignet()
Dim varSignet As Bookmark
Application.ScreenUpdating = False
For Each varSignet In ActiveDocument.Bookmarks
ActiveDocument.Comments.Add
Range:=varSignet.Range, Text:=varSignet.Name
Next varSignet
Application.ScreenUpdating = True
End Sub