Insérer légende sur Word via VBA Excel

Bonjour !

Je travaille sur un code VBA Excel dont l'objectif est 1) de mettre en forme un document Word et 2) d'y transférer des données (graphiques, tableaux, texte) depuis un document excel.

Grosso modo, la première partie mon code crée des titres, légendes et insère des signets dans le doc word afin que la seconde partie n'ait plus qu'à transférer les objets et à les mettre en forme.

Seulement, je galère à mettre en forme les légendes. Voici mon code pour créer des signets (qui marche très bien) :

Function creer_signet(nouveau_nom As String, doc_word As Object)

    Dim debut As Long
    Dim fin As Long
    Dim plage As Object

    debut = doc_word.Application.Selection.Start
    doc_word.Application.Selection.TypeText Text:=nouveau_nom
    fin = doc_word.Application.Selection.Start
    Set plage = doc_word.Range(Start:=debut, End:=fin)

    With doc_word.Bookmarks
        .Add Range:=plage, Name:=nouveau_nom
        .DefaultSorting = 1
        .ShowHidden = False
    End With

    doc_word.Application.Selection.TypeParagraph

End Function

J'ai un bug dans la fonction "creer_signet_graphique" à la ligne d'insertion de la légende. J'ai essayé différentes lignes de code, rien n'y fait. Quand je fais tourner le code en entier en excluant cette ligne, tout fonctionne - mais les légendes ne sont pas au format légende.

Function creer_signet_graphique(nouveau_nom As String, doc_word As Object)

    Dim nom As String

    nom = "G" & nouveau_nom
    creer_signet nom, doc_word

    nom = "C" & nouveau_nom
    doc_word.Selection.InsertCaption Label:="Figure", TitleAutoText:="InsertionLégende1", Title:="", Position:=1, ExcludeLabel:=0
    doc_word.Selection.TypeText Text:="- "
    creer_signet nom, doc_word

End Function

J'ai vu dans un autre thread (https://forum.excel-pratique.com/excel/ajouter-legende-a-shape-181900) qu'il fallait d'abord sélectionner l'objet avant d'insérer une légende. Cependant, sur VBA Word, j'arrivais à mettre les légendes au bon format. Je me dis qu'il doit donc y avoir une solution sur VBA Excel. Avez-vous des pistes ?

Merci pour votre aide !

Il suffisait que je poste ce message pour que je trouve la solution J'avais juste oublié le .application après doc_word. Je laisse le forum ouvert au cas où mon code puisse servir à d'autres personnes ! Bonne journée :)

Rechercher des sujets similaires à "inserer legende word via vba"