Bonjour à tous,
Je me permets de mettre un message car je suis dans une impasse. Je vais tenter d'être le plus clair possible.
J'ai un modèle WORD.dotm qui permet de créer des lettres types .docx via différents Userform. Ce modèle peut être utilisé par plusieurs utilisateurs en même temps.
Je travaille sur une évolution permettant à la fin de la création de la lettre d'envoyer celle ci par mail. La contrainte étant que l'utilisateur doit avoir la possibilité de modifier le contenu du document avant envoi.
J'ai donc intégrer dans mon code VBA la création d'une commandBars personnalisée avec bouton pour lancer la macro d'envoi mail manuellement quand l'utilisateur à fini. Je vous joins le code :
Ma commandBars fonctionne très bien. Le problème est que la création de cette commandBars modifie mon modèle et qu'a l'enregistrement j'ai le message "Voulez vous enregistrer les modifications apportées au modèle ?" qui s'affiche à l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'Création de la barre d'outils nommée 'MaBarre' Dim CmdBar As CommandBar Dim Bouton As CommandBarControl Set CmdBar = Application.CommandBars.Add("MaBarre", msoBarFloating, , False) CmdBar.Visible = True CommandBars("MaBarre").Position = msoBarBottom 'Création du bouton With CmdBar.Controls.Add(msoControlButton) .Style = msoButtonIconAndCaptionBelow .OnAction = "EnvoiMailv2" .Caption = "EnvoiMail" .FaceId = 24 .TooltipText = "Prepare le mail" End With
J'ai essayé de créer la commandBars en amont pour qu'elle fasse partie du modèle soit elle n'est pas présente soit j'ai le message d'enregistrement du modèle, je n'ai pas réussi à trouver un code permettant de répondre NON et que ce soit transparent pour le gestionnaire. J'ai également essayé de créer une macro évènementielle beforesave mais je n'ai pas réussi à la faire fonctionner et elle ne se déclenchait pas.
Si vous avez une idée je suis à l'écoute de vos propositions, sinon je serais dans l'obligation de supprimer cette évolution.
J'espère avoir été claire. Je vous remercie.
Cordialement,
Partager