Accéder au contenu principal

Comment imprimer la liste des signets dans un document Word ?

Author: Siluvia Last Modified: 2025-08-06

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 – Améliorez votre expérience Word avec plus de 100 fonctionnalités exceptionnelles!

🤖 Fonctionnalités IA de Kutools: Assistant IA/ Assistant en Temps Réel/ Super Polir (Conserve la mise en forme)/ Super Traduire (Conserve la mise en forme)/ Rédaction IA/ Correction AI...

📘 Maîtrise des documents: Diviser des pages/ Fusionner les documents/ Exporter une sélection dans différents 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 de tableau/ Convertir le tableau en texte...

🧹 Nettoyage facile: Éliminez les espaces supplémentaires/ sauts de section/ zones de texte/ liens hypertexte/ Pour plus d’outils de suppression, consultez le groupe Supprimer...

Insertion créative: Insérez des séparateurs de milliers/ cases à cocher/ boutons radio/ code QR/ code-barres/ images multiples/ Découvrez-en plus dans le groupe Insérer...

🔍 Sélection avec précision: Ciblez des pages spécifiques / tableaux / formes / paragraphes de titre / Améliorez la navigation avec davantage de Sélectionner fonctionnalités...

Fonctionnalités phares: Accédez à n'importe quel emplacement/ Insertion automatique de textes répétitifs/ Basculez entre les fenêtres de document/11 outils de conversion...

🌍 Prise en charge de plus de40 langues: utilisez Kutools dans la langue de votre choix – Anglais, Espagnol, Allemand, Français, Chinois et plus de40 autres langues!

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

Meilleurs outils de productivité pour Office

Kutools pour Word – 100+ outils pour Word