Explication utilisation des signets word depuis VBA Excel

Bonjour,

tout d'abord super site, j'ai appris beaucoup de choses en solo avec le forum et les cours VBA.

Dans le cadre de mon travail, j'ai voulu agréger beaucoup de document de trames et de feuilles de calcul en un seul fichier.

Je ne peux malheureusement pas joindre le fichier à cause des informations confidentielles (les supprimer n'est pas possible, il y a vraiment beaucoup d'informations et deux bases de données intégrées dans le fichier) mais aussi des protections internet de l'entreprise.

Ce document excel va être utilisé par une vingtaine de personne une fois finalisé

Je bloque actuellement sur une partie de l'application.

j'ai créée un USERFORM d'accueil qui, avec une de userform.show / userform.hide, me permet de gérer plusieurs aspects de mon travail (par exemple depuis l'accueil je peux choisir de travailler sur des acomptes, des trames de courrier basiques, des rappels de sommes d'argent etc ..).

Sur cet userform d'accueil je peux rechercher le matricule d'un agent et ensuite afficher toutes les informations connues à son sujet et qui sont utilisées dans les sous programmes d'acompte ou de rappels de sommes et aussi de choisir qui est le gestionnaire en charge du document qui sera généré.

En ce moment je développe une partie sur des courriers de litiges. Dans mon userform "courrier litige" (voir imprime écran litige ci dessous), le bouton rappel d'information permet de rappeler la date du jour, le gestionnaire et son adresse mail dans les textbox qui sont renommées en fonction du label à gauche.

litige

le gestionnaire va devoir ensuite préciser l'objet, s'il y a une pièce jointe et le texte attaché.

en cliquant sur valider les informations, ces dernières sont inscrites dans des cellules d'une feuille "reglage" qui fait office de stockage de variables (le nom et le mail du gestionnaire y est stocké aussi par exemple).

nous arrivons enfin au sujet principal (désolé pour tout le blabla )

en cliquant sur "ouvrir le courrier type", un document word s'ouvre automatiquement et se rempli via les signets.

pour l'instant le document s'ouvre parfaitement


Private SubCommandButton5_Click()

Dim WordApp As Object, WordDoc As Object

Set WordApp = CreateObject("word.Application")
Set WordDoc = WordApp.Documents

    WordApp.Visible = True

    WordApp.Documents.Open "\\10.62.15.218\drh-uti\UTI\2019\courrier pour modèle thibault2.doc"

   WordDoc.Bookmarks("mail").Range.Text = Sheets("REGLAGE").Range("AB31") ' la cellule AB31 contient le mail du gestionnaire

End Sub

cependant j'ai une erreur à chaque fois pour les signets (dans le doc word les signets sont dans des champs textes) rien ne remplit et on me propose le debuggage

je ne vois pas vraiment dans quel direction partir (j'ai appris ce matin seulement les déclarations de variables en solo)

maitriser ce sujet pourra me permettre par la suite de créer des documents juridiques en fonction d'articles de lois choisis / grade de l'agent (je ne peux pas avoir un modèle word que je remplis à la mano à chaque fois, il y a plus d'une trentaine de grades avec chacun leur article de lois attachés)

en espérant pouvoir trouver mon bonheur avec vous

Cordialement

un panda perdu

Bonjour,

à tester,

[code]Private SubCommandButton5_Click()

Dim WordApp As Object, WordDoc As Object

Set WordApp = CreateObject("word.Application")

WordApp.Visible = True

fichier =  "\\10.62.15.218\drh-uti\UTI\2019\courrier pour modèle thibault2.doc"
Set WordDoc = WordApp.Documents.Open(Fichier)

WordDoc.Bookmarks("mail").Range.Text = Sheets("REGLAGE").Range("AB31") ' la cellule AB31 contient le mail du gestionnaire

End Sub

[/code]

Merci beaucoup ça fonctionne !

par contre du coup je ne comprends pas trop l'erreur que je faisais, je vois juste que les lignes de codes ne sont pas dans le même ordre.

petite chose en plus comment fait on pour choisir d'afficher le doc word et l'enregistrer sous un nouveau nom dans un dosseir specifique ?

Ah après plusieurs tests par contre je chope une erreur "microsoft excel attend la fin de l'exécution d'une action OLE d'une autre application" et je ne peux plus toucher à excel ni le fermer (ctrl alt supr n'est pas disponible sur mon réseau je ne peux pas faire de fin de tâche)

Rechercher des sujets similaires à "explication utilisation signets word vba"