SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
Votre Assistante : https://www.votreassistante.net - le 09/05/2019
Article écrit par Cyril Seguenot du site
Bureautique Efficace : https://bureautique-efficace.com
1
Comment mettre à jour automatiquement vos tables des matières Word ?
Je vous propose aujourd’hui un article invité de Cyril Seguenot du blog Bureautique Efficace.
Cyril a travaillé pendant une quinzaine d’années dans l’édition de logiciels, en tant que
développeur, puis chef de projet. Il est aujourd’hui formateur indépendant et auteur du blog
Bureautique Efficace. Il aime beaucoup écrire, apprendre et transmettre ses connaissances et
en a fait sa mission de vie.
Si vous utilisez les tables des matières dans vos documents, vous savez qu’elles ont un
inconvénient : elles ne se mettent pas à jour toutes seules. Ainsi, dès que vous modifiez ou
ajoutez de nouveaux titres dans votre document, vous devez penser à mettre à jour la table des
matières. Nous allons donc voir, dans ce tutoriel, comment mettre à jour automatiquement
vos tables des matières Word.
Mise à jour manuelle d’une table des matières
SI vous ne savez pas comment créer une table des matières dans Word, regardez tout d’abord
cet article. Ensuite, la mise à jour de la table n’est pas très compliquée, car elle se fait en trois
clics.
Cliquez sur le bouton Mettre à jour la table... :
Votre Assistante : https://www.votreassistante.net - le 09/05/2019
Article écrit par Cyril Seguenot du site
Bureautique Efficace : https://bureautique-efficace.com
2
...ce qui a pour effet d’ouvrir la boîte de dialogue suivante :
Sélectionner alors l’option Mettre à jour toute la table et cliquez sur OK.
Bien que la mise à jour soit simple, encore faut-il penser à la faire, ce qui n’est pas évident
lorsqu’il s’agit d’un gros document.
Il suffit par exemple d’ajouter quelques lignes au milieu du document pour que les titres
suivants se retrouvent décalés d’une page. Si vous n’avez pas la table des matières sous les
yeux, vous ne penserez peut-être pas à mettre à jour ses numéros de pages.
Le volet de navigation
Pour résoudre le problème de la mise à jour, il existe une première solution radicale : ne pas
utiliser de tables des matières !
Cela peut paraître simpliste, mais si votre document n’est pas destiné à être imprimé sur papier,
vous aurez avantage à utiliser le volet de navigation plutôt qu’une table des matières. Si les
différences entre les deux ne sont pas très claires pour vous, je vous invite à jeter un œil sur
mon article Table des matières et volet de navigation dans Word.
Remarque : si vous convertissez votre document Word en PDF, sachez qu’il est également
possible de générer des signets à partir des titres, pour permettre la navigation dans le document
via le volet des signets. Si vous voulez savoir comment faire, lisez mon article sur comment
convertir un fichier Word en PDF.
Mise à jour automatique d’une table des matières
Cependant, si vous avez réellement besoin d’une table des matières, nous allons voir une
solution élégante pour la mettre à jour automatiquement à l’enregistrement du document.
Votre Assistante : https://www.votreassistante.net - le 09/05/2019
Article écrit par Cyril Seguenot du site
Bureautique Efficace : https://bureautique-efficace.com
3
Vous l’avez peut-être deviné, cette solution passe par l’utilisation d’une macro. Et là, je vous
vois faire la grimace en pensant : « Je n’ai pas du tout envie d’enregistrer mes documents au
format docm, et encore moins d’ajouter moi-même cette macro dans chacun de mes
documents. »
Mais rassurez-vous, la solution que nous allons voir est bien plus pratique : il s’agit d’ajouter
la macro dans le modèle de documents Normal de Word, afin qu’elle soit disponible dans
tous les documents.
Voici la procédure à suivre :
1. Créez ou ouvrez un document dans Word.
2. Ouvrez l’éditeur VBA (vous devez pour cela afficher le ruban développeur et cliquer sur
Visual Basic).
Votre Assistante : https://www.votreassistante.net - le 09/05/2019
Article écrit par Cyril Seguenot du site
Bureautique Efficace : https://bureautique-efficace.com
4
3. Dans l’explorateur de projet, double-cliquez sur le nœud ThisDocument du projet
Normal (attention à ne pas vous tromper de projet !) :
4. Saisissez le code suivant dans l’éditeur :
Public WithEvents App As Word.Application
‘À l’ouverture d’un document
Private Sub Document_Open()
‘Relie l’objet App à l’objet Application de Word
Set App = Word.Application
End Sub
‘Avant enregistrement d’un document
Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean,
Cancel As Boolean)
‘On met à jour les tables des matières
For t = 1 To ActiveDocument.TablesOfContents.Count
ActiveDocument.TablesOfContents(t).Update
Next
End Sub
5. Enregistrez le code, puis fermez et rouvrez Word pour qu’il soit pris en compte.
Vous pouvez désormais faire un test sur un document comportant une table des matières :
ajoutez ou modifiez un titre, puis enregistrez le document. Vous constatez que la table des
matières se met à jour automatiquement !
Explication du code
Le code ci-dessus se base sur la technique exposée dans cette page de documentation Microsoft.
Document_Open est un gestionnaire d’évènement qui s’exécute automatiquement à l’ouverture
d’un document.
Votre Assistante : https://www.votreassistante.net - le 09/05/2019
Article écrit par Cyril Seguenot du site
Bureautique Efficace : https://bureautique-efficace.com
5
On souhaite mettre à jour la table des matières à chaque fois que le document est enregistré.
Mais, par défaut, on n’a pas accès au gestionnaire Document_BeforeSave, dans lequel on
pourrait placer notre code. C’est pourquoi il faut auparavant déclarer une variable App de type
Word.Application avec WithEvents. Puis la relier à l’objet application à l’ouverture du
document.
Une fois la variable déclarée, on a en effet accès à l’ensemble des évènements qui peuvent
survenir sur un document, comme le montre la capture ci-dessous :
Il suffit alors de sélectionner DocumentBeforeSave dans la liste pour générer le code du
gestionnaire d’évènement.
Reste enfin à compléter ce code par la mise à jour de la table des matières, ce qui ne présente
pas de difficulté particulière. À noter tout de même qu’il peut y avoir plusieurs tables des
matières dans un document, c’est pourquoi il nous faut utiliser une boucle for pour les parcourir.
Vous pouvez bien entendu en profiter pour ajouter d’autre traitements à l’enregistrement du
document si nécessaire.
Tutoriel réalisé avec Word 2019
Voir la version vidéo de cet article

Weitere ähnliche Inhalte

Ähnlich wie Comment mettre à jour automatiquement vos tables des matières Word ?

Guide d'utilisation site colibri ville
Guide d'utilisation   site colibri villeGuide d'utilisation   site colibri ville
Guide d'utilisation site colibri villePeggy Le Déaut ☂️
 
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.wplyon
 
Création de blog et sites internet
Création de blog et sites internetCréation de blog et sites internet
Création de blog et sites internetpiera5
 
Manuel wordpress ad avenue
Manuel wordpress   ad avenueManuel wordpress   ad avenue
Manuel wordpress ad avenueFrançois Huynh
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Votre Assistante
 
Atelier pratique : CR CMS - Webassoc 14 avril 2015
Atelier pratique : CR CMS - Webassoc 14 avril 2015Atelier pratique : CR CMS - Webassoc 14 avril 2015
Atelier pratique : CR CMS - Webassoc 14 avril 2015webassoc .fr
 
Wordpress notes de cours
Wordpress notes de coursWordpress notes de cours
Wordpress notes de coursmichel.titeux
 
La veille d' information_cafel201019
La veille d' information_cafel201019La veille d' information_cafel201019
La veille d' information_cafel201019Philippe Ramette Pro
 
Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)Votre Assistante
 
4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce BonusVotre Assistante
 
Office_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOffice_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOpenWorld
 
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...Le guide 2020 des meilleures pratiques de création et de gestion de site inte...
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...Audacy
 
Concevez votre site web avec php et my sql mathieu nebra
Concevez votre site web avec php et my sql   mathieu nebraConcevez votre site web avec php et my sql   mathieu nebra
Concevez votre site web avec php et my sql mathieu nebraRochdi BCHINI
 
Les procédures pour fluidifier mon travail sur Internet
Les procédures pour fluidifier mon travail sur InternetLes procédures pour fluidifier mon travail sur Internet
Les procédures pour fluidifier mon travail sur InternetBeer Bergman
 

Ähnlich wie Comment mettre à jour automatiquement vos tables des matières Word ? (20)

Guide d'utilisation site colibri ville
Guide d'utilisation   site colibri villeGuide d'utilisation   site colibri ville
Guide d'utilisation site colibri ville
 
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.
Meetup WordPress Lyon #3 : Bien organiser son code dans WordPress.
 
Indesign Cours
Indesign CoursIndesign Cours
Indesign Cours
 
Création de blog et sites internet
Création de blog et sites internetCréation de blog et sites internet
Création de blog et sites internet
 
Formation word 2007 et 2010
Formation word 2007 et 2010  Formation word 2007 et 2010
Formation word 2007 et 2010
 
Manuel wordpress ad avenue
Manuel wordpress   ad avenueManuel wordpress   ad avenue
Manuel wordpress ad avenue
 
Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
 
Atelier pratique : CR CMS - Webassoc 14 avril 2015
Atelier pratique : CR CMS - Webassoc 14 avril 2015Atelier pratique : CR CMS - Webassoc 14 avril 2015
Atelier pratique : CR CMS - Webassoc 14 avril 2015
 
Test de produit, word press
Test de produit, word pressTest de produit, word press
Test de produit, word press
 
Wordpress notes de cours
Wordpress notes de coursWordpress notes de cours
Wordpress notes de cours
 
La veille d' information_cafel201019
La veille d' information_cafel201019La veille d' information_cafel201019
La veille d' information_cafel201019
 
Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)Découvrir le VBA Excel (article invité)
Découvrir le VBA Excel (article invité)
 
4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus
 
Exemple demarrage wp_v01
Exemple demarrage wp_v01Exemple demarrage wp_v01
Exemple demarrage wp_v01
 
Office_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOffice_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdf
 
Guide de l'administration Wordpress
Guide de l'administration WordpressGuide de l'administration Wordpress
Guide de l'administration Wordpress
 
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...Le guide 2020 des meilleures pratiques de création et de gestion de site inte...
Le guide 2020 des meilleures pratiques de création et de gestion de site inte...
 
Concevez votre site web avec php et mysql
Concevez votre site web avec php et mysqlConcevez votre site web avec php et mysql
Concevez votre site web avec php et mysql
 
Concevez votre site web avec php et my sql mathieu nebra
Concevez votre site web avec php et my sql   mathieu nebraConcevez votre site web avec php et my sql   mathieu nebra
Concevez votre site web avec php et my sql mathieu nebra
 
Les procédures pour fluidifier mon travail sur Internet
Les procédures pour fluidifier mon travail sur InternetLes procédures pour fluidifier mon travail sur Internet
Les procédures pour fluidifier mon travail sur Internet
 

Mehr von Votre Assistante

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Votre Assistante
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfVotre Assistante
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Votre Assistante
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Votre Assistante
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Votre Assistante
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Votre Assistante
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Votre Assistante
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Votre Assistante
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Votre Assistante
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Votre Assistante
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Votre Assistante
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Votre Assistante
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Votre Assistante
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Votre Assistante
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Votre Assistante
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Votre Assistante
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Votre Assistante
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Votre Assistante
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Votre Assistante
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorVotre Assistante
 

Mehr von Votre Assistante (20)

Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
 
Comment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdfComment compacter une base de données Access en VBA.pdf
Comment compacter une base de données Access en VBA.pdf
 
Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
 
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
Comment créer des listes déroulantes en cascade à 3 niveaux sur Excel ?
 
Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
 
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?
 
Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
 
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
Comment modifier le contenu d’une liste déroulante en cascade si la précédent...
 
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
 
Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?Comment créer un effet vignettage sur Photoshop ?
Comment créer un effet vignettage sur Photoshop ?
 
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
 
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
Comment cocher et décocher des cases à cocher en 1 clic dans un formulaire su...
 
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
 
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
 
Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
 
Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
 
Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
 
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
Comment créer une carte de vœux sur Photoshop avec un effet de sapin de Noël ...
 
Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
 
Créer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec Illustrator
 

Comment mettre à jour automatiquement vos tables des matières Word ?

  • 1. Votre Assistante : https://www.votreassistante.net - le 09/05/2019 Article écrit par Cyril Seguenot du site Bureautique Efficace : https://bureautique-efficace.com 1 Comment mettre à jour automatiquement vos tables des matières Word ? Je vous propose aujourd’hui un article invité de Cyril Seguenot du blog Bureautique Efficace. Cyril a travaillé pendant une quinzaine d’années dans l’édition de logiciels, en tant que développeur, puis chef de projet. Il est aujourd’hui formateur indépendant et auteur du blog Bureautique Efficace. Il aime beaucoup écrire, apprendre et transmettre ses connaissances et en a fait sa mission de vie. Si vous utilisez les tables des matières dans vos documents, vous savez qu’elles ont un inconvénient : elles ne se mettent pas à jour toutes seules. Ainsi, dès que vous modifiez ou ajoutez de nouveaux titres dans votre document, vous devez penser à mettre à jour la table des matières. Nous allons donc voir, dans ce tutoriel, comment mettre à jour automatiquement vos tables des matières Word. Mise à jour manuelle d’une table des matières SI vous ne savez pas comment créer une table des matières dans Word, regardez tout d’abord cet article. Ensuite, la mise à jour de la table n’est pas très compliquée, car elle se fait en trois clics. Cliquez sur le bouton Mettre à jour la table... :
  • 2. Votre Assistante : https://www.votreassistante.net - le 09/05/2019 Article écrit par Cyril Seguenot du site Bureautique Efficace : https://bureautique-efficace.com 2 ...ce qui a pour effet d’ouvrir la boîte de dialogue suivante : Sélectionner alors l’option Mettre à jour toute la table et cliquez sur OK. Bien que la mise à jour soit simple, encore faut-il penser à la faire, ce qui n’est pas évident lorsqu’il s’agit d’un gros document. Il suffit par exemple d’ajouter quelques lignes au milieu du document pour que les titres suivants se retrouvent décalés d’une page. Si vous n’avez pas la table des matières sous les yeux, vous ne penserez peut-être pas à mettre à jour ses numéros de pages. Le volet de navigation Pour résoudre le problème de la mise à jour, il existe une première solution radicale : ne pas utiliser de tables des matières ! Cela peut paraître simpliste, mais si votre document n’est pas destiné à être imprimé sur papier, vous aurez avantage à utiliser le volet de navigation plutôt qu’une table des matières. Si les différences entre les deux ne sont pas très claires pour vous, je vous invite à jeter un œil sur mon article Table des matières et volet de navigation dans Word. Remarque : si vous convertissez votre document Word en PDF, sachez qu’il est également possible de générer des signets à partir des titres, pour permettre la navigation dans le document via le volet des signets. Si vous voulez savoir comment faire, lisez mon article sur comment convertir un fichier Word en PDF. Mise à jour automatique d’une table des matières Cependant, si vous avez réellement besoin d’une table des matières, nous allons voir une solution élégante pour la mettre à jour automatiquement à l’enregistrement du document.
  • 3. Votre Assistante : https://www.votreassistante.net - le 09/05/2019 Article écrit par Cyril Seguenot du site Bureautique Efficace : https://bureautique-efficace.com 3 Vous l’avez peut-être deviné, cette solution passe par l’utilisation d’une macro. Et là, je vous vois faire la grimace en pensant : « Je n’ai pas du tout envie d’enregistrer mes documents au format docm, et encore moins d’ajouter moi-même cette macro dans chacun de mes documents. » Mais rassurez-vous, la solution que nous allons voir est bien plus pratique : il s’agit d’ajouter la macro dans le modèle de documents Normal de Word, afin qu’elle soit disponible dans tous les documents. Voici la procédure à suivre : 1. Créez ou ouvrez un document dans Word. 2. Ouvrez l’éditeur VBA (vous devez pour cela afficher le ruban développeur et cliquer sur Visual Basic).
  • 4. Votre Assistante : https://www.votreassistante.net - le 09/05/2019 Article écrit par Cyril Seguenot du site Bureautique Efficace : https://bureautique-efficace.com 4 3. Dans l’explorateur de projet, double-cliquez sur le nœud ThisDocument du projet Normal (attention à ne pas vous tromper de projet !) : 4. Saisissez le code suivant dans l’éditeur : Public WithEvents App As Word.Application ‘À l’ouverture d’un document Private Sub Document_Open() ‘Relie l’objet App à l’objet Application de Word Set App = Word.Application End Sub ‘Avant enregistrement d’un document Private Sub App_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean) ‘On met à jour les tables des matières For t = 1 To ActiveDocument.TablesOfContents.Count ActiveDocument.TablesOfContents(t).Update Next End Sub 5. Enregistrez le code, puis fermez et rouvrez Word pour qu’il soit pris en compte. Vous pouvez désormais faire un test sur un document comportant une table des matières : ajoutez ou modifiez un titre, puis enregistrez le document. Vous constatez que la table des matières se met à jour automatiquement ! Explication du code Le code ci-dessus se base sur la technique exposée dans cette page de documentation Microsoft. Document_Open est un gestionnaire d’évènement qui s’exécute automatiquement à l’ouverture d’un document.
  • 5. Votre Assistante : https://www.votreassistante.net - le 09/05/2019 Article écrit par Cyril Seguenot du site Bureautique Efficace : https://bureautique-efficace.com 5 On souhaite mettre à jour la table des matières à chaque fois que le document est enregistré. Mais, par défaut, on n’a pas accès au gestionnaire Document_BeforeSave, dans lequel on pourrait placer notre code. C’est pourquoi il faut auparavant déclarer une variable App de type Word.Application avec WithEvents. Puis la relier à l’objet application à l’ouverture du document. Une fois la variable déclarée, on a en effet accès à l’ensemble des évènements qui peuvent survenir sur un document, comme le montre la capture ci-dessous : Il suffit alors de sélectionner DocumentBeforeSave dans la liste pour générer le code du gestionnaire d’évènement. Reste enfin à compléter ce code par la mise à jour de la table des matières, ce qui ne présente pas de difficulté particulière. À noter tout de même qu’il peut y avoir plusieurs tables des matières dans un document, c’est pourquoi il nous faut utiliser une boucle for pour les parcourir. Vous pouvez bien entendu en profiter pour ajouter d’autre traitements à l’enregistrement du document si nécessaire. Tutoriel réalisé avec Word 2019 Voir la version vidéo de cet article