Dans un fichier excel, j'ai plusieurs zone nommées. Ces zones servent de
source pour des publipostage de document word. Les documents word
possèdent déjà les champs de fusion, ainsi que la source de données.
Dans le fichier Excel, je souhaite en cliquant sur un bouton, lancer
automatiquement la fusion du document word vers l'imprimante.
Lorsque j'ouvre manuellement le document word, et que je lance la
fusion, tout marche.
Lorsque je clique sur mon bouton depuis le fichier excel, word s'ouvre,
mais la fusion du document ne se fait pas, tout est très long, et fini
par bloquer.
Je suis sous Office 2000.
Quelqu'un pourrait m'expliquer comment faire ceci s'il vous plait ?
Évidemment, ce code n'a pas été testé. J'ai aussi supposé que ton document contenant la macro de publipostage n'était pas déjà ouvert.
'------------------------------------ Sub Test() Dim Wd as object dim Dc as object dim MaMacro as String Dim MonDocument as string
'le fichier contenant la macro Word MonDocument = "c:Chemin & NomDuFichier.doc
Set Wd = createobject("Word.Application") Wd.visible = true
set Dc = Wd.Documents.Open("Chemin & NomDuFichier.doc)
'En supposant que ta macro est dans un MODULE STANDARD de 'ton document Word, tu lances la macro "NomDeLaMacro" que tu 'dois remplacer par son vrai nom.
Dc.Close false Wd.Quit Set Dc = Nothing:Set Wd=Nothing End Sub '------------------------------------
"gup" a écrit dans le message de groupe de discussion : e$ Bonjour,
Dans un fichier excel, j'ai plusieurs zone nommées. Ces zones servent de source pour des publipostage de document word. Les documents word possèdent déjà les champs de fusion, ainsi que la source de données. Dans le fichier Excel, je souhaite en cliquant sur un bouton, lancer automatiquement la fusion du document word vers l'imprimante. Lorsque j'ouvre manuellement le document word, et que je lance la fusion, tout marche.
Lorsque je clique sur mon bouton depuis le fichier excel, word s'ouvre, mais la fusion du document ne se fait pas, tout est très long, et fini par bloquer.
Je suis sous Office 2000.
Quelqu'un pourrait m'expliquer comment faire ceci s'il vous plait ?
Cordialement
Bonjour,
Évidemment, ce code n'a pas été testé.
J'ai aussi supposé que ton document contenant
la macro de publipostage n'était pas déjà ouvert.
'------------------------------------
Sub Test()
Dim Wd as object
dim Dc as object
dim MaMacro as String
Dim MonDocument as string
'le fichier contenant la macro Word
MonDocument = "c:Chemin & NomDuFichier.doc
Set Wd = createobject("Word.Application")
Wd.visible = true
set Dc = Wd.Documents.Open("Chemin & NomDuFichier.doc)
'En supposant que ta macro est dans un MODULE STANDARD de
'ton document Word, tu lances la macro "NomDeLaMacro" que tu
'dois remplacer par son vrai nom.
Dc.Close false
Wd.Quit
Set Dc = Nothing:Set Wd=Nothing
End Sub
'------------------------------------
"gup" <gupzgup@gmail.com> a écrit dans le message de groupe de discussion :
e$4gxhCrKHA.3536@TK2MSFTNGP06.phx.gbl...
Bonjour,
Dans un fichier excel, j'ai plusieurs zone nommées. Ces zones servent de
source pour des publipostage de document word. Les documents word
possèdent déjà les champs de fusion, ainsi que la source de données.
Dans le fichier Excel, je souhaite en cliquant sur un bouton, lancer
automatiquement la fusion du document word vers l'imprimante.
Lorsque j'ouvre manuellement le document word, et que je lance la
fusion, tout marche.
Lorsque je clique sur mon bouton depuis le fichier excel, word s'ouvre,
mais la fusion du document ne se fait pas, tout est très long, et fini
par bloquer.
Je suis sous Office 2000.
Quelqu'un pourrait m'expliquer comment faire ceci s'il vous plait ?
Évidemment, ce code n'a pas été testé. J'ai aussi supposé que ton document contenant la macro de publipostage n'était pas déjà ouvert.
'------------------------------------ Sub Test() Dim Wd as object dim Dc as object dim MaMacro as String Dim MonDocument as string
'le fichier contenant la macro Word MonDocument = "c:Chemin & NomDuFichier.doc
Set Wd = createobject("Word.Application") Wd.visible = true
set Dc = Wd.Documents.Open("Chemin & NomDuFichier.doc)
'En supposant que ta macro est dans un MODULE STANDARD de 'ton document Word, tu lances la macro "NomDeLaMacro" que tu 'dois remplacer par son vrai nom.
Dc.Close false Wd.Quit Set Dc = Nothing:Set Wd=Nothing End Sub '------------------------------------
"gup" a écrit dans le message de groupe de discussion : e$ Bonjour,
Dans un fichier excel, j'ai plusieurs zone nommées. Ces zones servent de source pour des publipostage de document word. Les documents word possèdent déjà les champs de fusion, ainsi que la source de données. Dans le fichier Excel, je souhaite en cliquant sur un bouton, lancer automatiquement la fusion du document word vers l'imprimante. Lorsque j'ouvre manuellement le document word, et que je lance la fusion, tout marche.
Lorsque je clique sur mon bouton depuis le fichier excel, word s'ouvre, mais la fusion du document ne se fait pas, tout est très long, et fini par bloquer.
Je suis sous Office 2000.
Quelqu'un pourrait m'expliquer comment faire ceci s'il vous plait ?
Cordialement
gup
Word s'ouvre, mais le fichier word est très long à s'ouvrir.
set Dc = Wd.Documents.Open("Chemin & NomDuFichier.doc)
Comment peut-on corriger cela s'il vous plait ?
Cordialement
Word s'ouvre, mais le fichier word est très long à s'ouvrir.
set Dc = Wd.Documents.Open("Chemin & NomDuFichier.doc)
Dc.Close False Wd.Quit Set Dc = Nothing: Set Wd = Nothing
End Sub
michdenis
Et la macro bloque où ?
Exécute là pas à pas en utilisant la touche F8. Note la ligne de code qui cause problème.
J'ai modifié légèrement le code de la macro. '---------------------------------- Sub Test() Dim Wd As Object Dim Dc As Object Dim MaMacro As String Dim Chemin As String Dim Fichier As String
Chemin = "G:" Fichier = "Convocation.doc"
Set Wd = CreateObject("Word.Application") Wd.Visible = True
If Dir(chemin & fichier) <>"" then Set Dc = Wd.Documents.Open(Chemin & Fichier) else Msgbox "Fichier introuvable" exit sub End if
Dc.Close False Wd.Quit Set Dc = Nothing: Set Wd = Nothing End Sub '----------------------------------
Et la macro bloque où ?
Exécute là pas à pas en utilisant la touche F8.
Note la ligne de code qui cause problème.
J'ai modifié légèrement le code de la macro.
'----------------------------------
Sub Test()
Dim Wd As Object
Dim Dc As Object
Dim MaMacro As String
Dim Chemin As String
Dim Fichier As String
Chemin = "G:"
Fichier = "Convocation.doc"
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
If Dir(chemin & fichier) <>"" then
Set Dc = Wd.Documents.Open(Chemin & Fichier)
else
Msgbox "Fichier introuvable"
exit sub
End if
Exécute là pas à pas en utilisant la touche F8. Note la ligne de code qui cause problème.
J'ai modifié légèrement le code de la macro. '---------------------------------- Sub Test() Dim Wd As Object Dim Dc As Object Dim MaMacro As String Dim Chemin As String Dim Fichier As String
Chemin = "G:" Fichier = "Convocation.doc"
Set Wd = CreateObject("Word.Application") Wd.Visible = True
If Dir(chemin & fichier) <>"" then Set Dc = Wd.Documents.Open(Chemin & Fichier) else Msgbox "Fichier introuvable" exit sub End if
Là, plus d'erreur fichier introuvable, mais une erreur format de fichier non valide.
Je précise que la macro word, lancé depuis word manuellement fonctionne sans problème.
Merci
gup
> Wd.Run MaMacro
C'est effectivement ca. Merci beaucoup. J'y suis presque : depuis mon fichier excel, lorsque je clic sur le bouton, voici ce qui est fait :
- Ouverture du classeur source du publipostage - Remplissage des informations - Fermeture du classeur de publipostage - Ouverture de Word - Ouverture du document à fusionner - Lancement de la macro word : * Lancer la fusion vers l'imprimante - Fermeture du document fusionné sans enregistrer - Fermeture du document source sans enregistrer - Fermeture de Word
Si le fichier word est long à s'ouvrir (environ 1 minute), c'est parce que je l'ouvre dans ma macro avant, et qu'il ne doit pas être fini de fermer (vérifié en commentant la partie avant l'ouverture de word). Comment puis-je attendre la fermeture complète du classeur source de publipostage et démarrer seulement après l'ouverture du document word s'il vous plait ?
Le lancement de la fusion vers l'imprimante est très long (de l'ordre d'une minute). De quoi cela pourrait-il venir s'il vous plait ?
Je vous remercie pour votre aide.
Cordialement
>
Wd.Run MaMacro
C'est effectivement ca. Merci beaucoup. J'y suis presque : depuis mon
fichier excel, lorsque je clic sur le bouton, voici ce qui est fait :
- Ouverture du classeur source du publipostage
- Remplissage des informations
- Fermeture du classeur de publipostage
- Ouverture de Word
- Ouverture du document à fusionner
- Lancement de la macro word :
* Lancer la fusion vers l'imprimante
- Fermeture du document fusionné sans enregistrer
- Fermeture du document source sans enregistrer
- Fermeture de Word
Si le fichier word est long à s'ouvrir (environ 1 minute), c'est parce
que je l'ouvre dans ma macro avant, et qu'il ne doit pas être fini de
fermer (vérifié en commentant la partie avant l'ouverture de word).
Comment puis-je attendre la fermeture complète du classeur source de
publipostage et démarrer seulement après l'ouverture du document word
s'il vous plait ?
Le lancement de la fusion vers l'imprimante est très long (de l'ordre
d'une minute). De quoi cela pourrait-il venir s'il vous plait ?
C'est effectivement ca. Merci beaucoup. J'y suis presque : depuis mon fichier excel, lorsque je clic sur le bouton, voici ce qui est fait :
- Ouverture du classeur source du publipostage - Remplissage des informations - Fermeture du classeur de publipostage - Ouverture de Word - Ouverture du document à fusionner - Lancement de la macro word : * Lancer la fusion vers l'imprimante - Fermeture du document fusionné sans enregistrer - Fermeture du document source sans enregistrer - Fermeture de Word
Si le fichier word est long à s'ouvrir (environ 1 minute), c'est parce que je l'ouvre dans ma macro avant, et qu'il ne doit pas être fini de fermer (vérifié en commentant la partie avant l'ouverture de word). Comment puis-je attendre la fermeture complète du classeur source de publipostage et démarrer seulement après l'ouverture du document word s'il vous plait ?
Le lancement de la fusion vers l'imprimante est très long (de l'ordre d'une minute). De quoi cela pourrait-il venir s'il vous plait ?