[Déplacé .Net --> VBA] VBA word , récupération de l'arboressence d'une table de

[Résolu]
Signaler
Messages postés
8
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
23 avril 2010
-
Messages postés
8
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
23 avril 2010
-
Bonjour le forum ,

je souhaite récupérer via une macro les titres (de tous les niveaux) de ma table des matières .

Comment parcourir, en VBA, la table des matières de Word?

Merci pour votre aide

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Pas évidentes ces tables des matières puisque ce ne sont pas de vrai textes mais des sortes de liens.
J'ai bidouillé ça qui t'affichera chaque élément :
    Dim sTemp As String
    Dim aLignes() As String
    Dim aDonnée() As String
    Dim r As Long
    Dim t As Long
    
    sTemp = ActiveDocument.TablesOfContents(1).Range.FormattedText
    aLignes = Split(sTemp, vbCr)
    For r = LBound(aLignes) To UBound(aLignes)
        aDonnée = Split(aLignes(r), vbTab)
        For t = LBound(aDonnée) To UBound(aDonnée)
            Debug.Print "Ligne "; r, "Texte : "; t, aDonnée(t)
        Next t
    Next r

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour NS_INSAT

Recupérer la TM
Msgbox ActiveDocument.TableOfContents.item(1).Range.Text

Par contre pour rechercher les titres dans le document en s'arrêtant ou non au niveau de titre placé dans la TM, il faut faire une recherche des textes de style commençant par "Titre "
Messages postés
8
Date d'inscription
samedi 12 novembre 2005
Statut
Membre
Dernière intervention
23 avril 2010

Merci jack ,

c'est parfait