Pb de code sur modèle word

Fermé
corion64 Messages postés 5 Date d'inscription mardi 16 décembre 2014 Statut Membre Dernière intervention 18 décembre 2014 - Modifié par corion64 le 16/12/2014 à 11:53
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 - 18 déc. 2014 à 15:22
bonjour à tous,
je vais essayer d'être clair et précis, pas facile ...
j'ai créé un modèle word (2010), qui comprend du code VBA ;
entre autres, une image cliquable, pour afficher un userform, et un bouton pour envoyer automatiquement le document par mail ;
tout fonctionnait correctement jusqu'à la dernière mise à jour WindowsUpdate, qui buggue méchamment : les objets ActiveX ne sont plus reconnus ; (idem sur excel)
ai farfouillé sur le net, ne suis pas le seul dans ce cas, et ai trouvé une solution de contournement : supprimer les fichiers MSForms.exd qui se trouvent dans le répertoire %temp% ;
les activeX refonctionnent !
mais j'ai maintenant un comportement très bizarre de mon fichier dotm :
- si j'ouvre mon dotm, mon code fonctionne correctement ;
- si je double clique sur le dotm, je crée un nouveau docm basé sur le modèle, et là le code est dans les choux : un simple clic sur l'image lance le code du bouton, le dbl-clic est inopérant, et le bouton reste inefficace !! (j'ai même eu des cas où un dbl-clic sur le bouton lançait le code de l'image !!!!)
donc, pour résumer un peu, le modèle fonctionne bien, mais le doc créé par le modèle a un comportement illogique, et ce depuis la dernière mise à jour (màj office sp2 d'après ce que j'ai pu trouver sur le net)
impossible de supprimer cette mise à jour, je suis en entreprise et n'ai aucun droit là-dessus (mais ai essayé chez moi, impossible de supprimer la màj, ça buggue à chaque fois)
auriez vous un début de piste ?
je peux vous envoyer le dotm par mail si ça peut aider ... (à moins qu'on puisse le joindre à ce post ?)
merci d'avance.

PS 1:
j'ai créé un nouveau modèle, avec juste un bouton et une image cliquable : j'ai exactement le même problème, le code de l'image et du bouton sont inversés sur le doc, et non sur le dot !!
mais si je copie à la main le code du dot vers le doc, ça marche !!

PS 2:
d'une manière générale, lorsque je double-clic sur un modèle docm, comprenant du code, ça crée un docm, mais sans le code !!
à l'exécution, le modèle est ouvert en parallèle pour exécuter le code ;
bon, admettons ....
mais si je détruis le modèle, le code du document créé ne fonctionne donc plus (même chose si je transmets le document à un tiers, il faut que je transmette aussi le modèle si je veux que le code s'exécute)
QUESTION : y a-t-il un moyen, une option pour que le code du modèle soit transféré au document créé par ce modèle ?
ça devrait remédier à mon pb initial (mais pas l'expliquer)

quand je pense que tout fonctionnait correctement il y a quelques jours , merci WindowsUpdate !!!
A voir également:

8 réponses

m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
17 déc. 2014 à 01:09
Bonsoir,

Oui, ce serait bien que tu fournisses le fichier que tu peux mettre ici :
https://www.cjoint.com/
sans oublier de donner le lien.

Je reviens sur ton PS 2 : "d'une manière générale, lorsque je double-clic sur un modèle docm, comprenant du code, ça crée un docm, mais sans le code !! "
C'est le comportement normal de Word. La macro étant dans le modèle, elle n'est jamais et n'a jamais été recopiée dans le document basé sur ce modèle.
La plupart du temps, on met les macros qu'on utilise régulièrement dans le normal.dotm, et les documents créés ne contiennent heureusement pas les macros.
"y a-t-il un moyen, une option pour que le code du modèle soit transféré au document créé par ce modèle ? "
La réponse est non et ça n'a rien à voir avec l'update, comme je viens de l'expliquer.

Un modèle est fait, comme tu le sais, pour créer des documents à son image. Donc, généralement, on ne fournit pas un document pré-créé mais on fournit le modèle. Le modèle se met dans le dossier Templates et l'utilisateur y a accès automatiquement lorsqu'il crée un nouveau document.
Personnellement, pour une entreprise qui utilise des modèles avec macros, je mets une macro AutoNew dans le normal.dotm qui permet, à la création d'un nouveau document, d'ouvrir obligatoirement la boîte de dialogue des modèles. Ainsi l'utilisateur est convié à utiliser un modèle... et donc il a accès aux macros qui vont avec.

m@rina
0
corion64 Messages postés 5 Date d'inscription mardi 16 décembre 2014 Statut Membre Dernière intervention 18 décembre 2014
17 déc. 2014 à 09:19
bonjour,
voici le lien :
https://www.cjoint.com/?0LrjeVIQoMb

j'ai reproduit le pb initial sur ce petit fichier ;
il ne comprend que 2 boutons (clic) et une image (double clic); (controles activeX)
le code associé n'est que l'affichage d'un msgbox

test 1 : clic droit/ouvrir (ouverture du modèle) :
tout se passe correctement :
le clic sur un bouton affiche " Bouton 1" ou "2"
le double clic sur l'image affiche "dbl clic image"

test 2 : clic droit/nouveau (création d'un .doc basé sur modèle) :
le clic sur le bouton 1 ne fonctionne pas
le double clic sur le bouton 1 affiche "double clic image" !!!
le clic sur l'image affiche "clic bouton 1" !!!
le clic sur le bouton est ok
maintenant, toujours sur ce .docm, si je déplace un bouton (en passant par le mode création), plus aucun code ne fonctionne !!

je n'avais jamais vu ça avant cette fameuse mise à jour office sp2 ....
(màj que je ne peux supprimer, ni sur le pc du bureau (pas admin), ni sur mes pc à la maison : la désinstallation plante)
0
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
17 déc. 2014 à 14:10
Bonjour,

Alors j'ai regardé ton fichier avec 2010 et avec 2013.
Que ce soit en ouverture du fichier modèle ou en création de nouveau document basé sur le modèle, tes boutons ne fonctionnent pas du tout chez moi.
Si je regarde la macro, tes macros se nomment Sub CommandButton21_Click et Sub CommandButton22_Click.

Mais, si je regarde les propriétés des boutons, ils s'appellent CommandButton211 et CommandButton212... Bizarre et... normal que ça ne fonctionne pas.
Mais si j'essaie d'attribuer une macro avec ces noms de bouton, ça ne marche pas non plus.

J'ai l'impression d'avoir à faire à un fichier corrompu. Aussi j'ai refait exactement le même fichier que toi et j'aimerais que tu le testes. Je l'ai mis ici :
https://www.cjoint.com/c/DLropy2JoT1

Concernant le passage à SP2, ça me paraît quand même curieux, car le SP2 est déjà vieux (plus d'un an), et depuis il y a eu pas mal de mises à jour. Par contre, il y a eu il y a quelques jours un update concernant la sécurité. Personnellement je n'ai pas encore fait cet update. Peux tu me dire si tu l'as fait, et me donner ta version exacte d'Office (Onglet Fichier => Aide).

m@rina

0
corion64 Messages postés 5 Date d'inscription mardi 16 décembre 2014 Statut Membre Dernière intervention 18 décembre 2014
17 déc. 2014 à 16:51
alors j'ai testé ton fichier et ... il réagit exactement comme le mien :
le dot fonctionne parfaitement, mais pas le doc créé depuis le modèle : les macros sont inversées !! (quelque part ça me rassure ...)

ma version word : 2010 (14.0.7140.5000) sp2 MSO (14.0.7140.5002)

windows 7 entreprise V 6.1.7601 sp1 build 7601

VBA 7.0.1628 Forms3: 14.0.7140.500

merci de te pencher sur mon cas ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
17 déc. 2014 à 17:37
Ça confirme donc déjà qu'il y a un problème sur ton poste que je n'ai pas puisque chez moi, mon fichier fonctionne correctement.

Je pense que tu as raison dans ton analyse concernant l'update. Mais ce n'est pas le SP2 qui pose problème mais, a priori, cette dernière mise à jour du 9 décembre.

Du coup, j'ai décidé de l'installer pour en avoir le coeur net.
Eh bien, chez moi, je ne rencontre pas ce problème.

En principe, un update peut se désinstaller... mais pas tout le temps.

Parallèlement, après avoir recherché sur Internet, il s'avère que les contrôles posent problème depuis cet update, sur Excel. Mais, comme tu le sais, les utilisateurs de Word qui utilisent les contrôles ActiveX sont assez rares.
La solution est de supprimer tous les fichiers exd ; ils se recréeront automatiquement lorsque l'on crée un nouveau contrôle.
Donc, je te suggère d'essayer cette solution. Pour t'aider, tu peux regarder ici :
https://support.microsoft.com/fr-fr/help/290537

m@rina

0
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
17 déc. 2014 à 18:05
Je viens de voir que de nouveaux updates sont disponibles. Peut être que cela corrige l'update du 9 décembre.
0
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
18 déc. 2014 à 02:19
Re...

Bon, effectivement cette mise à jour met le souk dans les contrôles.
J'ai dit tout à l'heure que je ne rencontrais pas le problème mais... j'avais pas encore redémarré mon PC après l'update.

Conclusion malheureuse (qui va te rassurer un peu) : je suis comme toi maintenant avec exactement les mêmes problèmes ! :(
J'ai supprimé tous les exd car je ne pouvais même plus insérer de contrôles... Cela a bien résolu ce problème mais pas le problème d'inversion de contrôle.

Donc, pour le moment, statu quo... Attendons une réaction de Microsoft !

m@rina


0
corion64 Messages postés 5 Date d'inscription mardi 16 décembre 2014 Statut Membre Dernière intervention 18 décembre 2014
18 déc. 2014 à 09:44
alors là, je respire !!
je ne suis pas fou et mon PC n'est pas hanté par le fantôme d'un hacker russe dément !!!

c'est vrai qu'il n'est pas commun d'utiliser des boutons sur un dotm, mais ça peut arriver, et là on se creuse méchamment la tête pour essayer de comprendre ce qu'il se passe ;

as-tu essayé de supprimer la màj ?
si ça marche, peux-tu me donner la réf de cette màj, stp ?
d'un autre côté, même si je parviens à la supprimer elle reviendra au prochain update, et je n'ai pas la main là-dessus ...

comment faire remonter ce bug à microsoft ?

encore merci pour le temps que tu as passé sur mon cas
0
m@rina Messages postés 20090 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 28 avril 2024 11 272
18 déc. 2014 à 15:22
Bonjour,

Si tu respires, c'est déjà une bonne chose ! ;)
Donc pas de russe à l'horizon !!:)

J'ai désinstallé l'update sécurité 2553154 et ça refonctionne... avec peut être les trous de sécurité que cela peut engendrer.

En tant que MVP, j'ai un accès direct pour faire remonter les bugs chez Microsoft, c'est donc chose faite.

Si j'ai du nouveau, je reviens... mais bon, faut peut être pas espérer tout de suite !

m@rina
0