• Comment faire plusieurs références à une même note de bas de page ?

  • Comment créer un bouton qui envoie le fichier en cours ?

  • PowerPoint et les fichiers MP3

  • Accentuer les majuscules

  • Comment générer du faux texte ?

  • La justification laisse de trop grands blancs entre les mots

  • Comment faire pour qu'une macro démarre toute seule ?

  • Bonjour les Quickparts, adieu les Insertions Auto !

  • A quoi sert l'ancre qui s'affiche quelquefois dans la marge gauche ?

 
 

Comment créer une macro qui insère un sommaire pour chaque chapitre ?

 

Pour insérer plusieurs tables des matières dans un même document, il faut créer un signet par chapitre concerné, et utiliser ce signet dans le champ TOC.

Voici un exemple de macro (à adapter selon votre document) qui :

  • passe tout le document en revue et insère un sommaire avant chaque titre de niveau 1
  • insère le titre Sommaire, avec le style Sous-titre

Important : Ces sommaires ne pourront être mis à jour qu'en relançant la macro qui peut être exécutée autant de fois qu'on le souhaite car elle commence par supprimer les sommaires existants avec leur titre.

Lorsque le document sera terminé, il sera temps d'ajouter la table des matières générale.

 

Sub plusieurs_sommaires()
'macro écrite par m@rina
Dim doc As Document, tm As TableOfContents, paragraphe As Paragraph
Set doc = ActiveDocument

'supprime toutes les tables existantes
For Each tm In doc.TablesOfContents
tm.Delete
Next

'supprime tous les titres des sommaires existants
For Each paragraphe In doc.Paragraphs
If paragraphe.Style = "Sous-titre" Then
paragraphe.Range.Delete
End If
Next

'passe chaque paragraphe en revue,
'vérifie s'il est de style Titre 1
'et insère la tm avec le titre
For Each paragraphe In doc.Paragraphs
If paragraphe.Style = "Titre 1" Then
paragraphe.Range.Select
Set chapitre = Selection.Bookmarks("\headinglevel")
chapitre.Select
doc.Bookmarks.Add Name:="partie", Range:=Selection
With Selection
.Collapse Direction:=wdCollapseStart
.TypeText Text:="Sommaire"
.TypeParagraph
.MoveUp Unit:=wdLine, Count:=1
.Style = doc.Styles("Sous-titre")
.MoveUp Unit:=wdLine, Count:=-1
.Fields.Add Range:=Selection.Range, _
Type:=wdFieldEmpty, Text:= "TOC \b partie  \H ", PreserveFormatting:=True
End With
End If
Next

End Sub

 

Lorsque le document sera terminé, vous pourrez alors ajouter la table des matières générale.

 

 
 
 
 

Statistiques

3084955
Aujourd'hui247
Hier2057
Cette semaine11878
Ce mois-ci45058
Depuis janvier 20043084955
Compteur d'affichages des articles
6007120

A lire de toute urgence...

Qui est en ligne ?

Nous avons 39 invités et aucun membre en ligne