[Word] Création de formulaire/macro - Débutant VB appelle à l'aide !

Je suis en train de rédiger un modèle (.dot) de formulaire sous Word XP.

Pour ce faire j’ai utilisé les fonction basiques de formulaire intégrées à Word, ainsi que les outils “avancés” sous Visual Basic.

Je rencontre 2 problèmes insolubles pour moi :

  • Quand je crée un .doc depuis le .dot, mes macros ne fonctionnent pas.

Manifestement les macros ne sont pas sauvegardées dans le .dot (ce que je pensais avoir fait).
Quand je travaille sur mon .dot et que j’ouvre VB, mes macros sont stockées dans un projet “TemplateProject(Nom_du_Modèle)” ; je pense qu’il faudrait donc les importer dans mon .dot. Ais-je juste ? Et si oui comment ?

  • Le document devant devenir un formulaire, je dois protéger la feuille. Quand je fais cela, les fonctions "formulaire" basiques de Word fonctionnent sans problème, mais celles créées avec les "contrôles avancés" sont vérouillées comme le reste du texte. Comment rendre ces contrôles modifiables comme ils le devraient ?

Merci d’avance

grant_lee

est-ce que tu as un "module" pour tes macro danston fichier dot ?

Merci de prendre le temps de me répondre :wink:

Tout d’abord, voilà où j’en suis :

J’ai solutionné mon problème sur les listes déroulantes modifiables (ComboBox) qui ne répondait pas lorsque je verouillais le document.

Pour ce faire, j’ai modifié leur manière d’être insérée dans du texte avec Format de l’objet/Habillage/aligné sur le texte. Les autres habillages ne permettent pas d’accéder aux ComboBox une fois le document protegé (bourde de Microsoft ??).

Pour ce qui est de mes macros, j’ai chargé uniquement le fichier .dot sur un autre PC, et j’ai bien accès aux macros, donc d’une manière ou d’une autre elles sont liées au .dot, bien qu’elles n’apparaissent pas dans mon modèle quand je fait alt+F8.

Pour répondre à ta question, je ne crois pas avoir de module. Qu’est-ce et que dois-je en faire ?

grant_lee

Voici ce que j’ai dans VB, lorsque je crée un .doc depuis mon .dot :

http://img354.imageshack.us/img354/5669/mwsnap0622ne.th.jpg

J’ai pas l’impression de faire quelque chose faux ?!?

grant_lee

[edit]
Bon ben j’ai trouvé une réponse malheusresment peu satisfaisante => c’est tordu, mais c’est comme ça !

"Another tricky aspect about using ActiveX controls with VBA is that, while the controls themselves will appear in a document created from a template, the code in the ThisDocument module will not be ported to the new document. It will still be there in the attached template, but any references to the controls that do not specify in which document to look for them will appear not to work."

source : http://msdn.microsoft.com/library/default…odc_activeX.asp
(excellent article au demeurrant qui relate les problèmes que j’ai également rencontrés plus haut, ainsi que d’autres !)

Bref, il me reste plus qu’à trouver une méthode pour contourner ça (oublier le .dot et passer par un .doc protégé m’en semble une particulièrement valide :smiley: )