Partage de macros entre des documents
Contagious
-
perceval -
perceval -
Bonjour,
J'aimerai savoir s'il existe un moyen simple de partager les macros qui sont communes à plusieurs documents word. Je ne souhaite pas les enregistrer dans Normal car ces documents sont partagés sur le réseau. Jusqu'à ce jour, lorsque j'ajoute une macro, je la copie/colle dans chacun de mes documents. J'aimerai plutôt trouver un moyen de les partager. Est-ce possible ? Je me suis dit qu'on pourrait peut-être les mettre dans un des documents et ensuite faire appel aux macros de ce document; le problème étant qu'elle s'exécute pas dans le document que je veux (mais elle s'execute dans le document contenant la macro).
Auriez-vous des pistes de réflexion ?
J'aimerai savoir s'il existe un moyen simple de partager les macros qui sont communes à plusieurs documents word. Je ne souhaite pas les enregistrer dans Normal car ces documents sont partagés sur le réseau. Jusqu'à ce jour, lorsque j'ajoute une macro, je la copie/colle dans chacun de mes documents. J'aimerai plutôt trouver un moyen de les partager. Est-ce possible ? Je me suis dit qu'on pourrait peut-être les mettre dans un des documents et ensuite faire appel aux macros de ce document; le problème étant qu'elle s'exécute pas dans le document que je veux (mais elle s'execute dans le document contenant la macro).
Auriez-vous des pistes de réflexion ?
2 réponses
-
Bonjour Contagious,
Il faut que tu crées un nouveau modèle de document .docm, où tu mettras
tes macros personnelles ; ensuite, tes documents qui doivent utiliser ces
macros doivent être basés sur ce nouveau modèle.
Cordialement
-
Merci pour votre réponse perceval :) Désolé je suis débutant, j'ai cherché sur internet mais en vain : comment est-ce que je peux baser mon document sur ce nouveau modèle ? Est-ce qu'il est possible de ne pas me baser uniquement sur ce modèle, mais aussi d'utiliser des macros propres à mon document ? En gros j'ai plein de macros communes, mais certains macros spécifiques au document.
Un grand merci en tout cas ;) -
1) Pour baser le document sur un modèle, ouvrir le document, puis :
bouton Office (= menu Fichier), bouton « Options Word » ; côté gauche,
choisir Compléments ; à droite, en bas, à gauche du bouton "Atteindre",
choisir dans la liste « Modèles » et cliquer sur le bouton à droite =>
fenêtre « Modèles et compléments » ; sur le 1er onglet « Modèles » :
le nom présélectionné est en principe « Normal » (c'est donc en fait
le fichier Normal.dotm) ; pour le remplacer, cliquer sur le bouton
« Attacher... » et dans la fenêtre, sélectionner le dossier du modèle,
puis le fichier modèle ; valider tout (au fur et à mesure).
2) Le document sera donc basé sur le modèle que tu as choisi (et qui
contient toutes les macros communes, qu'il pourra utiliser) ; les autres
macros que tu mets dans ton document (pas dans le modèle) seront
tes macros spécifiques du document.
-
-
-
Je dispose de Word 2010. Par exemple j'ai un document word appelé docSource qui contient toutes mes macros. Jai i autres documents qu'on apellera doc_i. J'aimerai pouvoir utiliser les macros de docSource dans mes doc_i. L'un des méthodes est d'exporter mes macros de docSource pour les importer dans mes doc_i mais c'est super long à faire à chaque modification. J'aimerai donc dire que je me sert des macros de docSource dans mes doc_i. Là j'ai essayé de faire ce que tu m'a dit, j'arrive à me servir de mes macros de docSource dans doc_i grâce aux manipulations dans "compléments". Cependant quand j'ouvre et referme mes doc_i , dans "compléments" mon docSource est alors systématiquement décoché.
-
-
Bonjour,
Tu as ActiveDocument qui est le document actif.
Pour y faire référence tu peux utiliser With, et faire précéder l'objet voulu d'un . pour spécifier que tu t'adresses à l'objet du With.
Un exemple pour éclairer :Sub test() With ActiveDocument MsgBox "Le document actif a " & .Paragraphs.Count & " paragraphes" End With End Sub
note le . devant Paragraphs
ou bien directement :MsgBox "Le document actif a " & ActiveDocument.Paragraphs.Count & " paragraphes"
Pour le document ayant la macro ça sera ThisDocument
eric
-
Merci eriiic, cependant je ne comprend pas bien comment l'utiliser dans mon cas de figure : J'ai un document doc1 qui contient mes macros, j'ai un autre document doc2 et j'aimerai pouvoir utiliser mes macros de doc1 dans doc2 (il s'agit principalement de macros d'insertions de textes ou d'objets). Selon vous, quelle serai la commande à exécuter pour le faire avec ThisDocument ?
-
Bonjour,
Effectivement tu n'as rien compris, c'est ActiveDocument qu'il faut utiliser.
A part que tu relises tranquillement et que tu réfléchisses à ce que je t'ai écrit je ne vois pas quoi faire d'autre. Il y a un exemple et je ne peux pas comprendre à ta place.
ActiveDocument permet de désigner explicitement le document actif là où c'est nécessaire.
eric
-