Explication utilisation des signets word depuis VBA EXCEL

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
l
le panda
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 20 août 2019
Version d'Excel : 2016 FR

Message par le panda » 20 août 2019, 11:56

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.png
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
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 6'054
Appréciations reçues : 352
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 20 août 2019, 15:19

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]
1 membre du forum aime ce message.
Prenons soins de nous et de notre vaisseau spatial, nous n’en n’avons qu’un ...notre planète terre
isabelle
l
le panda
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 20 août 2019
Version d'Excel : 2016 FR

Message par le panda » 20 août 2019, 15:52

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 ?
l
le panda
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 20 août 2019
Version d'Excel : 2016 FR

Message par le panda » 20 août 2019, 16:00

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)
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message