Bonjour,
Lors d'une opération de publipostage, à la fin je souhaite réaliser une table des matières grâce au code ci-dessous. Le problème est qu'à l'exécution, j'ai une erreur m'indiquant que Selection.Range n'a pas été attribué. Pourtant il me semble que c'est bien ce que j'ai fait avec la première ligne du code non ?
Doc est le nom du document word que je "remplis".
Pour info il est ouvert en "read only".
J'ai aussi essayé d'effectuer ce code après le publipostage en utilisant ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Doc.Bookmarks("tableofcontent").Select Doc.TablesOfContents.add Range:=Selection.Range, RightAlignPageNumbers:= _ True, UseHeadingStyles:=True, UpperHeadingLevel:=3, _ LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _ UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _ True Doc.TablesOfContents(1).TabLeader = wdTabLeaderSpaces Doc.TablesOfContents.Format = wdTOCTemplateEt là on me dit que ce n'est pas possible car aucun document n'est ouvert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ActiveDocument.Bookmarks("tableofcontent").Select With ActiveDocument .TablesOfContents.add Range:=Selection.Range, RightAlignPageNumbers:= _ True, UseHeadingStyles:=True, UpperHeadingLevel:=3, _ LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _ UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _ True .TablesOfContents(1).TabLeader = wdTabLeaderSpaces .TablesOfContents.Format = wdTOCTemplate End With
Si vous avez des réponses, merci d'avance.
Partager