Evenement ouverture d'un document basé sur un modèle
Fermé
Paradize
-
10 août 2017 à 16:18
m@rina Messages postés 21548 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 février 2025 - 12 août 2017 à 02:26
m@rina Messages postés 21548 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 février 2025 - 12 août 2017 à 02:26
A voir également:
- Modele organigramme word
- Modèle organigramme word - Guide
- Modèle de style word - Guide
- Espace insécable word - Guide
- Supprimer une page word - Guide
- Tableau word - Guide
2 réponses
thev
Messages postés
1961
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
16 février 2025
706
11 août 2017 à 12:42
11 août 2017 à 12:42
Bonjour,
Je ne pense pas. Mais il est possible de tester si l'ouverture du document se fait avec un modèle spécifique :
Je ne pense pas. Mais il est possible de tester si l'ouverture du document se fait avec un modèle spécifique :
Private Sub Document_Open()
If Not ActiveDocument.AttachedTemplate.Name Like "Normal*" Then .....
End Sub
m@rina
Messages postés
21548
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
17 février 2025
11 399
Modifié le 12 août 2017 à 02:27
Modifié le 12 août 2017 à 02:27
Bonjour,
Je vais un peu contredire ce qui s'est dit ici et dans divers topics récents.
En réalité, et "normalement", la réponse à ta question est Oui, une macro insérée dans un modèle peut se déclencher à la création d'un nouveau document et également à l'ouverture d'un document existant basé sur ce modèle.
Pour la macro qui se lance à l'ouverture (dans ton cas), il y a "en principe" deux solutions :
- Une macro Document_Open dans le module ThisDocument.
- Une macro nommée AutoOpen dans un module normal.
Alors si je prends des gants en disant "normalement", "en principe", c'est que dans les nouvelles versions, ça ne fonctionne plus (comme ça devrait). Et pourtant Microsoft le dit :
https://docs.microsoft.com/fr-FR/office/vba/api/Word.Document.Open
et également ici :
https://docs.microsoft.com/fr-fr/office/vba/word/concepts/customizing-word/auto-macros?redirectedfrom=MSDN
Dans la version 2003 ça fonctionne parfaitement. Je me demande si ce n'est pas une mise à jour qui a mis le bazar.
Dans ton cas, du coup, la seule solution pour déclencher la macro est de la mettre dans le normal.dotm et là, bizarrement, ça va fonctionner. Dans cette macro, tu devras vérifier si le document porte sur ton modèle.
ActiveDocument.AttachedTemplate= **** then
Par contre, l'événement New fonctionne toujours.
m@rina
Inutile de me poser vos questions en privé. Je n'y réponds pas.
Je vais un peu contredire ce qui s'est dit ici et dans divers topics récents.
En réalité, et "normalement", la réponse à ta question est Oui, une macro insérée dans un modèle peut se déclencher à la création d'un nouveau document et également à l'ouverture d'un document existant basé sur ce modèle.
Pour la macro qui se lance à l'ouverture (dans ton cas), il y a "en principe" deux solutions :
- Une macro Document_Open dans le module ThisDocument.
- Une macro nommée AutoOpen dans un module normal.
Alors si je prends des gants en disant "normalement", "en principe", c'est que dans les nouvelles versions, ça ne fonctionne plus (comme ça devrait). Et pourtant Microsoft le dit :
https://docs.microsoft.com/fr-FR/office/vba/api/Word.Document.Open
et également ici :
https://docs.microsoft.com/fr-fr/office/vba/word/concepts/customizing-word/auto-macros?redirectedfrom=MSDN
Dans la version 2003 ça fonctionne parfaitement. Je me demande si ce n'est pas une mise à jour qui a mis le bazar.
Dans ton cas, du coup, la seule solution pour déclencher la macro est de la mettre dans le normal.dotm et là, bizarrement, ça va fonctionner. Dans cette macro, tu devras vérifier si le document porte sur ton modèle.
ActiveDocument.AttachedTemplate= **** then
Par contre, l'événement New fonctionne toujours.
m@rina
Inutile de me poser vos questions en privé. Je n'y réponds pas.
11 août 2017 à 21:19