Copier une Macro du Template Word au document
Résolu/Fermé
A voir également:
- Copier une Macro du Template Word au document
- Supprimer une page word - Guide
- Macro word - Guide
- Signer un document word - Guide
- Espace insécable word - Guide
- Copier une vidéo youtube - Guide
4 réponses
m@rina
Messages postés
21080
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
11 351
22 avril 2009 à 00:27
22 avril 2009 à 00:27
Bonjour,
Je ne comprends pas ton problème.
Word a toujours agi de cette façon et ce n'est pas spécifique à Word 2007.
- On peut mettre des macros dans un modèle (dot).
- Quand on crée un nouveau document basé sur ce modèle, on a accès aux macros contenues dans le modèle (logique).
- Une fois que le document est séparé de son modèle, on n'a plus accès aux macros.
Remarque : les barres d'outils peuvent être attachées à sa propre appli, et pas à la macro. C'est vrai qu'un onglet complément de Word 2007 est forcément attaché au modèle.
C'est d'ailleurs souvent un problème que peu de personnes savent gérer en entreprise où il y a des modèles avec macros, car si le fichier est attaché à un modèle situé sur son propre disque dur, lorsque le document est transmis à une autre personne, il perd ses macros, et la personne destinataire devra attacher à nouveau le document à son modèle si elle a besoin des macros.
Les styles suivent sans avoir besoin du modèle, mais pas les macros.
Pour Usul d'Arrakis (Hello !;)) : c'est du Word, pas de l'Excel !!! Aussi, pas de WorkBook, pas d'AutoClose.
Par contre, on a un ThisDocument et l'on peut créer une macro
Mais... comment la macro va-t-elle arriver toute seule dans le module ThisDocument ? Donc, je pense que ce n'est pas la bonne solution.
Si on veut essayer de copier les macros du template vers le nouveau document, il faut le faire avec un événement AutoNew ou plutôt une macro automatique, c'est à dire que, à chaque nouveau document, la macro se copierait.
Essaie par exemple :
Il est un peu tard, j'ai pas testé...
m@rina
Je ne comprends pas ton problème.
Word a toujours agi de cette façon et ce n'est pas spécifique à Word 2007.
- On peut mettre des macros dans un modèle (dot).
- Quand on crée un nouveau document basé sur ce modèle, on a accès aux macros contenues dans le modèle (logique).
- Une fois que le document est séparé de son modèle, on n'a plus accès aux macros.
Remarque : les barres d'outils peuvent être attachées à sa propre appli, et pas à la macro. C'est vrai qu'un onglet complément de Word 2007 est forcément attaché au modèle.
C'est d'ailleurs souvent un problème que peu de personnes savent gérer en entreprise où il y a des modèles avec macros, car si le fichier est attaché à un modèle situé sur son propre disque dur, lorsque le document est transmis à une autre personne, il perd ses macros, et la personne destinataire devra attacher à nouveau le document à son modèle si elle a besoin des macros.
Les styles suivent sans avoir besoin du modèle, mais pas les macros.
Pour Usul d'Arrakis (Hello !;)) : c'est du Word, pas de l'Excel !!! Aussi, pas de WorkBook, pas d'AutoClose.
Par contre, on a un ThisDocument et l'on peut créer une macro
Private Sub Document_Close().
Mais... comment la macro va-t-elle arriver toute seule dans le module ThisDocument ? Donc, je pense que ce n'est pas la bonne solution.
Si on veut essayer de copier les macros du template vers le nouveau document, il faut le faire avec un événement AutoNew ou plutôt une macro automatique, c'est à dire que, à chaque nouveau document, la macro se copierait.
Essaie par exemple :
Sub autonew() Application.OrganizerCopy Source:=ThisDocument, Destination:=ActiveDocument, Name:="Modulex", Object:=wdOrganizerObjectProjectItems End Sub
Il est un peu tard, j'ai pas testé...
m@rina
UsulArrakis
Messages postés
7405
Date d'inscription
vendredi 28 mars 2003
Statut
Contributeur
Dernière intervention
27 janvier 2022
3 186
21 avril 2009 à 12:38
21 avril 2009 à 12:38
salut
quand ton .dot et ton .doc sont ouverts tu fais Alt+F11
et tu copies le module contenat ta macro du .dot dans le .doc
pour un autoclose il faut mettre la macro dans ThisworkBook
quand ton .dot et ton .doc sont ouverts tu fais Alt+F11
et tu copies le module contenat ta macro du .dot dans le .doc
pour un autoclose il faut mettre la macro dans ThisworkBook
Bonjour Ursul,
À vrai dire, je veux faire cela par programmation.
Voici le problème, j'ai des macros qui roulent dans Word 2003 à partir de mon Template (gabarit).
Une fois qu'il est exécuté, un fichier .doc est créé et les macros lui sont attachés. Donc, je peux prendre mon nouveau document et le mettre sur ma clé USB. Quand je viens pour ouvrir le document (de ma clé USB), les macros s'exécutent normalement et la barre à outil que j'avais créé précédement s'affiche.
Par contre, en Word 2007, quand je transporte mon document ailleurs, mes macros (ni ma barre d'outils) ne sont pas transportés avec le document !
Word 2007 fait un lien avec le gabarit pour continuer à exécuter les différentes macros et quand le lien n'existe plus, le macros ne sont plus exécutés.
Alors, je cherche à copier de façon programmatique mes macros du template au document.
Merci de votre aide.
À vrai dire, je veux faire cela par programmation.
Voici le problème, j'ai des macros qui roulent dans Word 2003 à partir de mon Template (gabarit).
Une fois qu'il est exécuté, un fichier .doc est créé et les macros lui sont attachés. Donc, je peux prendre mon nouveau document et le mettre sur ma clé USB. Quand je viens pour ouvrir le document (de ma clé USB), les macros s'exécutent normalement et la barre à outil que j'avais créé précédement s'affiche.
Par contre, en Word 2007, quand je transporte mon document ailleurs, mes macros (ni ma barre d'outils) ne sont pas transportés avec le document !
Word 2007 fait un lien avec le gabarit pour continuer à exécuter les différentes macros et quand le lien n'existe plus, le macros ne sont plus exécutés.
Alors, je cherche à copier de façon programmatique mes macros du template au document.
Merci de votre aide.
Merci à vous,
Ca fonctionne maintenant.
Voici ce que j'ai mis :
Application.OrganizerCopy Source:=Templates(1).FullName _
, Destination:=ActiveDocument.FullName _
, Name:="AutoClose", Object:=wdOrganizerObjectProjectItems
Par contre, si je remplace Templates(1) par ThisDocument
L'anti virus me donne des messages !
Merci.
Ca fonctionne maintenant.
Voici ce que j'ai mis :
Application.OrganizerCopy Source:=Templates(1).FullName _
, Destination:=ActiveDocument.FullName _
, Name:="AutoClose", Object:=wdOrganizerObjectProjectItems
Par contre, si je remplace Templates(1) par ThisDocument
L'anti virus me donne des messages !
Merci.
23 avril 2009 à 16:20
effectivement c'est du word :-( je suis tellement à triturer excel en cemoment que je mélange