Utiliser des bibliographies

Le modèle objet Word comprend plusieurs objets conçus pour automatiser la création de bibliographies. Le tableau suivant répertorie les principaux objets de la fonctionnalité Bibliographie de Word. Utilisez ces objets, ainsi que d’autres propriétés et méthodes dans le modèle objet Word, pour ajouter des sources aux listes de sources, citer des sources dans un document et gérer les sources. Les objets du modèle Word que vous utilisez pour gérer les sources de bibliographie sont présentés dans le tableau suivant.

Object Description
Source Source individuelle telle qu'un livre, un article de revue ou un entretien.
Sources Collection d'objets Source.
Bibliography Liste de sources citées dans le document (la liste actuelle) ou liste de sources disponibles dans l'application (dans la liste principale).

Comprendre le code XML source

Les sources sont ajoutées par programme aux listes de sources au moyen de chaînes XML. La structure XML requise change selon le type de source que vous souhaitez ajouter. Pour déterminer la structure XML adaptée à un type de source, vous pouvez ajouter manuellement le même type de source, puis afficher le XML renvoyé. Pour ce faire, suivez la procédure ci-après.

  1. Sur le ruban Références, cliquez sur Gérer les sources.

  2. Dans la boîte de dialogue Gestionnaire de source, cliquez sur Nouveau.

  3. Dans la boîte de dialogue Créer une source, sélectionnez le type de source à créer. Par exemple, sélectionnez Livre.

  4. Renseignez les champs de source, comme indiqué dans le tableau suivant :

    Champ Valeur
    Auteur Andrew Dixon
    Titre Stylish Bibliographies
    Year 2006
    Ville Chicago
    Éditeur Adventure Works Press
    Nom de balise And01
  5. Affichez et ajoutez des informations à des champs supplémentaires en cochant Afficher tous les champs de bibliographie.

  6. Cliquez sur OK.

  7. Fermez la boîte de dialogue Gestionnaire de source.

  8. Démarrez Visual Basic Editor (Alt+F11).

  9. Affichez la fenêtre Exécution (Ctrl+G).

  10. Collez et exécutez le code suivant. Sub GetBibliographyXML() Dim strXml As String Dim objSource As Source Set objSource = Application.Bibliography.Sources( _ Application.Bibliography.Sources.Count) Debug.Print objSource.XML End Sub

Une fois la procédure précédente terminée, la fenêtre Exécution contient le code XML suivant.

<b:Source xmlns:b="http://schemas.microsoft.com/office/word/2004/10/bibliography"> 
    <b:Tag>And01</b:Tag> 
    <b:SourceType>Book</b:SourceType> 
    <b:Guid>{6D86D06C-9022-4932-8D4C-84C2B0843381}</b:Guid> 
    <b:LCID>0</b:LCID> 
    <b:Author> 
        <b:Author> 
            <b:NameList> 
                <b:Person> 
                    <b:Last>Dixon</b:Last> 
                    <b:First>Andrew</b:First> 
                </b:Person> 
            </b:NameList> 
        </b:Author> 
    </b:Author> 
    <b:Title>Stylish Bibliographies</b:Title> 
    <b:Year>2006</b:Year> 
    <b:City>Chicago</b:City> 
    <b:Publisher>Adventure Works Press</b:Publisher> 
</b:Source>

Les éléments Guid et LCID sont facultatifs, mais vous pouvez leur fournir des valeurs si vous le souhaitez. La valeur de l'élément Guid doit être un GUID valide qui peut être généré par programme en dehors du modèle d'objet Word. (Pour plus d’informations sur la génération d’ID par programmation, consultez la documentation Visual Studio ou la documentation Windows sur MSDN.) Word génère des GUID lorsque les utilisateurs ajoutent ou modifient une source. Si vous n’ajoutez pas de GUID au code XML et qu’un utilisateur modifie une source, Word génère un GUID. Cela permet à Word de déterminer quelle est la source la plus récente en fonction de la valeur du GUID et d'inviter l'utilisateur à indiquer si la source obsolète doit être mise à jour pour préserver la continuité entre la liste principale et la liste actuelle.

Le LCID spécifie la langue pour la source. (Consultez MSDN pour connaître les valeurs d’identification de langue valides.) Word utilise le LCID pour savoir comment afficher une source citée dans la bibliographie d’un document. Ainsi, une source peut être écrite en français, une autre en anglais et une autre en japonais. À partir du LCID, Word détermine le mode d'affichage des noms (par exemple First, Last, pour l'anglais), la ponctuation requise (par exemple une virgule dans une langue et un point-virgule dans une autre) et les chaînes à utiliser (par exemple « et al » ou une expression équivalente dans une autre langue).

Vous pouvez avoir une structure similaire à la structure XML suivante après avoir supprimé des éléments facultatifs. (Vous pouvez déterminer les éléments requis, car ils n’ont pas de champ modifiable correspondant dans la boîte de dialogue Créer une source . L’omission d’un ou de plusieurs éléments requis génère une erreur d’exécution.)

<b:Source xmlns:b="http://schemas.microsoft.com/office/word/2004/10/bibliography"> 
    <b:Tag>And01</b:Tag> 
    <b:SourceType></b:SourceType> 
    <b:Author> 
        <b:Author> 
            <b:NameList> 
                <b:Person> 
                    <b:Last></b:Last> 
                    <b:First></b:First> 
                </b:Person> 
            </b:NameList> 
        </b:Author> 
    </b:Author> 
    <b:Title></b:Title> 
    <b:Year></b:Year> 
    <b:City></b:City> 
    <b:Publisher></b:Publisher> 
</b:Source>

Maintenant que vous disposez de la structure de base du XML source pour un livre, vous pouvez ajouter des sources bibliographiques à la liste de sources principale et à la liste de sources actuelle. Vous pouvez localiser des éléments supplémentaires en activant la case à cocher Afficher tous les champs bibliographiques.

Remarque

Vous pouvez également obtenir le code XML à partir du fichier source de bibliographie nommé « sources.xml » situé à l’adresse C:\Users\<user>\AppData\Roaming\Microsoft\Bibliography. Ce fichier stocke une liste de sources principale pour un utilisateur.

Ajouter des sources à la liste des sources principales et à la liste des sources actuelle

L’ajout de sources à la liste de sources principale est similaire à l’ajout de sources à la liste de sources actuelle, sauf que vous accédez à la collection Sources à partir d’objets principaux différents. Pour ajouter une source à la liste des sources principales, vous accédez à la collection Sources à partir de la propriété Bibliography de l’objet Application . Pour ajouter une source à la liste des sources actuelle, accédez à la collection Sources à partir de la propriété Bibliography de l’objet Document .

L'exemple suivant utilise la structure de base définie précédemment pour ajouter une autre source bibliographique à la liste de sources principale.

Sub AddBibSource() 
 
    Dim strXml As String 
     
    strXml = "<b:Source xmlns:b=""http://schemas.microsoft.com/" & _ 
        "office/word/2004/10/bibliography""><b:Tag>Mor01</b:Tag>" & _ 
        "<b:SourceType>Book</b:SourceType><b:Author><b:Author>" & _ 
        "<b:NameList><b:Person><b:Last>Hezi</b:Last>" & _ 
        "<b:First>Mor</b:First></b:Person></b:NameList></b:Author>" & _ 
        "</b:Author><b:Title>The New Office</b:Title>" & _ 
        "<b:Year>2006</b:Year><b:City>Seattle</b:City>" & _ 
        "<b:Publisher>Adventure Works Press</b:Publisher>" & _ 
        "</b:Source>" 
     
    Application.Bibliography.Sources.Add strXml 
 
End Sub

Vous pouvez modifier la ligne Application.Bibliography.Sources.Add strXml en ActiveDocument.Bibliography.Sources.Add strXml

Si vous insérez une source par programme dans la liste de sources principale, elle n'est pas ajoutée automatiquement à la liste de sources actuelle. Toutefois, l'ajout d'une citation à un document n'est possible que si la source figure dans la liste actuelle. Vous pouvez copier manuellement une ou plusieurs sources de la liste principale dans la liste actuelle en utilisant la boîte de dialogue Gestionnaire de source ou le faire par programme. L'exemple suivant copie toutes les sources de la source principale dans la source actuelle. Une fois que les sources sont ajoutées à votre liste actuelle, vous pouvez insérer des citations pour les sources dans un document.

Sub CopyToCurrentList() 
    Dim objSource As Source 
    Dim strXml As String 
     
    On Error Resume Next 
     
    For Each objSource In Application.Bibliography.Sources 
        strXml = objSource.XML 
        ActiveDocument.Bibliography.Sources.Add strXml 
    Next 
End Sub

Remarque

La valeur de la propriété Tag doit être unique dans les sources de la liste actuelle. Par conséquent, la On Error Resume Next ligne est nécessaire pour permettre au code d’ignorer toutes les sources de la liste principale qui ont des valeurs de balise en conflit dans la liste actuelle. Vous pouvez modifier ce code pour capturer des instances lorsque Word ne peut pas copier une source de la liste principale dans la liste actuelle.

Partager votre liste de sources

Il peut arriver que vous souhaitiez partager une liste de sources avec d’autres membres d’une organisation. Lorsque vous ajoutez des sources à la liste maître, Word les ajoute à un nom de fichier « sources.xml » situé à l’adresse C:\Users\<user>\AppData\Roaming\Microsoft\Bibliography\sources.xml. Vous pouvez partager ce fichier avec d’autres personnes en leur donnant le fichier, que les utilisateurs peuvent ensuite charger manuellement à partir de la boîte de dialogue Gestionnaire de sources ou par programmation via du code.

Remarque

Lorsqu’un utilisateur charge un fichier source, il s’agit d’une occurrence unique et ne modifie pas la liste principale existante ou sa liste actuelle. L'utilisateur peut ajouter les éléments du fichier de sources partagé à la liste actuelle au moyen de la boîte de dialogue Gestionnaire de source.

Vous pouvez charger par programme une source partagée. L'exemple suivant montre comment charger un fichier de sources partagé qui se trouve sur un partage d'un ordinateur local.

Sub LoadSharedSource() 
    Application.LoadMasterList "\\server\public\sources.xml" 
End Sub

Remarque

Si le fichier de sources source.xml est partagé, seules les sources de la liste principale sont partagées. Les sources de la liste actuelle se trouvent dans une banque de données du document. Vous pouvez accéder à ce fichier en enregistrant un document et en ouvrant le fichier DOCX résultant dans une application de compression de fichiers comme WinZip. Le fichier de sources se trouve sur le chemin d'accès « customXml » et porte un nom similaire à « item1.xml ». Si vous devez partager les sources dans un document, vous pouvez partager ce fichier de la même façon que vous le feriez avec le fichier de la liste de sources principale, comme indiqué précédemment.

Trier la liste des sources principales

Vous pouvez définir l’ordre de tri dans la boîte de dialogue Gestionnaire de sources à l’aide de la propriété BibliographySort . La propriété BibliographySort peut être une valeur de chaîne « Auteur », « Balise », « Titre » ou « Année ». Cet objet ne modifie pas le tri des sources dans la bibliographie du document. L’exemple suivant trie les sources par titre.

Sub SortBibliography() 
    Options.BibliographySort = "Title" 
End Sub

Insérer des citations

Vous pouvez insérer une citation bibliographique en utilisant la méthode Add pour la collection Fields. L’exemple suivant insère une citation à l’emplacement du curseur pour la source que vous avez ajoutée précédemment. Le texte du champ est égal à la valeur de la balise ou à la valeur de l’élément Tag, en l’occurrence « Mor01». (Consultez le code XML dans la sous-routine AddBibSource indiquée précédemment pour la chaîne XML «< b:Tag>Mor01</b:Tag> ».) La valeur de l’élément Tag correspond également à la propriété Tag d’un objet Source .

Sub InsertBibCitation() 
    Selection.Fields.Add Selection.Range, _ 
        wdFieldCitation, "Mor01" 
End Sub

Appliquer un style de bibliographie

Après avoir inséré une bibliographie dans un document, vous pouvez définir son style. Word met en forme plusieurs styles bibliographiques. Vous pouvez définir le style de bibliographie à l’aide de la propriété BibliographyStyle . Celle-ci peut prendre l’une des valeurs de chaîne suivantes :

  • APA

  • Chicago

  • GB7714

  • GOST - Tri du nom

  • GOST - Tri du titre

  • ISO 690 - Date du premier élément

  • ISO 690 - Référence numérique

  • DÉPUTÉ

  • SISTO2

  • Turabian

Remarque

Ces valeurs sont incluses dans Word, mais de nouvelles valeurs peuvent être ajoutées à tout moment à l’avenir à mesure que de nouveaux styles de bibliographie sont définis.

L'exemple suivant définit MLA comme style bibliographique par défaut.

Sub SetBibliographyStyle() 
    Options.BibliographyStyle = "MLA" 
End Sub

Remarque

Vous pouvez également définir votre propre style de documentation en XML. Le répertoire C:\Program Files\Microsoft Office\Office15\1033\Bibliography\Style contient un fichier XSL pour chaque style de documentation sur votre ordinateur. Ouvrez ce fichier pour voir un exemple expliquant comment créer votre propre XSLT. Tout utilisateur peut partager un fichier XSL de style bibliographique personnalisé en le plaçant dans le dossier ci-dessus de son ordinateur.

Insérer une bibliographie

Tout comme les citations, les bibliographies utilisent des champs. Pour insérer une bibliographie, vous devez insérer un champ avec une constante wdFieldBibliography spécifiée pour ce type de champ. Le code suivant insère une bibliographie à l'emplacement du curseur dans le document actif. Cet exemple présuppose que le curseur est situé à la fin du document ou sur une nouvelle page.

Sub InsertBibliography() 
    Selection.Fields.Add Selection.Range, _ 
        wdFieldBibliography 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.