Bonjour à tous,
Je réalise une macro sur Word de publiposage, dont le fonctionnement implique d'appeler une macro Excel su le document source. Or ce document source change régulièrement, et je veux pouvoir appeler la macro Excel sur n'importe quel fichier. Je cherche donc à trouver un code qui permettrait à ma macro Word de rédiger le code sur Excel (par exemple via un copier-coller), afin de l'exécuter par la suite.
Pour l'instant, mon code Excel et mon code Word fonctionnent tout les deux. Je cherche seulement à réaliser automatiquement une copie de mon programme Excel depuis la macro Word.
Pour l'instant ma macro principale ressemble à :
et je souhaite donc appeler une macro avant MacroExcel qui permettrait de rédiger la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Sub MainMacro() 'Des notes de modifications du programme se trouvent en bas de cette feuille AdresseBureau = ObtenirCheminBureau 'Enregistre l'adresse du bureau de l'odianteur sur lequel est effectuée la macro. Utile pour la suite Adresse = ShowFileDialog() 'Sélecionne le fichier excel source via une boite de dialogue Adresse2 = AdresseBureau & "\DossierPublipostage" 'Stocke l'adressed'un fichier (qui n'est pas encore créé, qui permet de stocker proprement les fichiers utiles à l'exécution du programme 'MsgBox (Adresse) Call MacroExcel(Adresse) 'Appelle la macro excel Call Format 'Crée une nouvelle feuille vierge de publipostage Call DocSource1(Adresse2) 'Active le document source France5Calendriers(créé par l'execution de MacroExcel, et stocké sur le bureau), afin d'entamer l'opération Call Etiquette1Fr 'Rédige la première étiquette Call Etiquettes24Fr 'Rédige la première feuille Call SaveEtiquettes(Adresse2) 'Enregistre la première feuille dans le dossier de stockage, sur le bureau (opération nécessaire à la fermeture de la page) Call ToutesEtiquettes 'Automatise la rédaction des pages, jusqu'a la fin du tableau Application.DisplayAlerts = False 'Permet de désactiver les messages de confirmation liés à l'execution de la ligne qui suit Windows("Étiquettes.docx").Close 'Fermeture de la feuille rédigée par Eiquettes24 Call Format Call DocSource2(Adresse2) 'Active le document source France50Calendriers, stocké sur le bureau Call Etiquette1Fr Call Etiquettes24Fr Call SaveEtiquettes(Adresse2) Call ToutesEtiquettes Application.DisplayAlerts = False Windows("Étiquettes.docx").Close 'Windows("DocPublipostage.docm").Activate 'Retour à la feuille DocPublipostage MsgBox "L'opération de publipostage est maintenant terminée." & vbCrLf & " Durant son fonctionnement, un dossier a été créé sur votre bureau." & vbCrLf & " Il contient toutes les informations nécéssaires. Il peut être supprimé sans problème", , "Rapport de Travail" End Sub
Si quelqu'un a une idée, je lui en serais reconnaissant.
Merci
Partager