Accéder au contenu principal

Comment imprimer la liste des signets dans un document Word ?

Author: Siluvia Last Modified: 2025-05-27

Avez-vous déjà essayé d'imprimer une liste de signets dans un document Word ? Nous allons vous montrer des méthodes pour y parvenir.

Extraire tous les signets et imprimer avec VBA

Imprimer directement tous les signets avec VBA


Extraire tous les signets et imprimer avec VBA

Le code VBA ci-dessous vous aidera à lister tous les signets du document actuel dans un nouveau document, et vous pourrez imprimer manuellement les signets extraits selon vos besoins. Veuillez procéder comme suit.

1. Ouvrez le document dont vous souhaitez imprimer les signets, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module, puis copiez le code ci-dessous dans la fenêtre Module.

Code VBA : Extraire tous les signets vers un nouveau document

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
End Sub

3. Appuyez sur la touche F5 pour exécuter le code.

Ensuite, un nouveau document est automatiquement créé avec tous les signets du document spécifié listés à l'intérieur.

New document with all bookmarks of specified document listing inside

4. Vous pouvez cliquer sur Fichier > Imprimer pour imprimer la liste des signets extraits selon vos besoins.

Kutools for Word,doté d'IA 🤖, offre plus de 100 fonctionnalités pratiques pour simplifier vos tâches.

Imprimer directement tous les signets avec VBA

Si vous souhaitez imprimer directement tous les signets dans le document actuel, veuillez procéder comme suit.

1. Ouvrez le document dont vous souhaitez imprimer les signets, puis appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module, puis copiez le code ci-dessous dans la fenêtre Module.

Code VBA : Imprimer tous les signets dans un document

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    On Error Resume Next
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
    xBookMarkDoc.PrintOut
    xBookMarkDoc.Close
    Kill xBookMarkDoc.Path
End Sub

3. Appuyez sur la touche F5 pour imprimer directement les signets.

Meilleurs outils de productivité pour Office

Kutools pour Word - Élevez votre expérience Word avec plus de 100 fonctionnalités remarquables !

🤖 Fonctionnalités AI de Kutools : Assistant IA / Assistant en Temps Réel / Super Polonais (Conserver le format) / Super Traduire (Conserver le format) / Rédaction IA / Correction AI...

📘 Maîtrise des documents : Diviser les pages / Fusionner les documents / Exporter la sélection dans divers formats (PDF/TXT/DOC/HTML...) / Conversion en lot vers PDF...

Édition de contenu : Recherche et remplacement en lot dans plusieurs fichiers / Redimensionner toutes les images / Transposer les lignes et colonnes du tableau / Convertir le tableau en texte...

🧹 Nettoyage sans effort : Éliminer les espaces supplémentaires / Sauts de section / Zones de texte / Liens hypertexte / Pour plus d'outils de suppression, rendez-vous dans le groupe Supprimer...

Insertion créative : Insérer des séparateurs de milliers / Cases à cocher / Boutons radio / Code QR / Code-barres / Images multiples / Découvrez plus dans le groupe Insérer...

🔍 Sélections précises : Identifier des pages spécifiques / Tableaux / Formes / Paragraphes de titre / Améliorez la navigation avec plus de fonctionnalités de sélection...

Améliorations étoilées : Naviguer vers n'importe quel emplacement / Insertion automatique de texte répétitif / Basculer entre les fenêtres de document /11 outils de conversion...

Kutools and Kutools Plus tabs on the Word Ribbon
👉 Vous voulez essayer ces fonctionnalités ? Téléchargez Kutools pour Word maintenant ! 🚀