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".

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 = wdTOCTemplate
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
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
Et là on me dit que ce n'est pas possible car aucun document n'est ouvert.

Si vous avez des réponses, merci d'avance.