> 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 ?
> 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 ?
> 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 ?
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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis 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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis 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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis Word ?
> Daniel.C wrote: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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
Je l'ouvre depuis excel, pour le remplir, puis le referme. Au moment ou
j'ouvre le document word, il se rouvre tout seul.
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis Word ?
Lorsque je lance la macro word depuis word, tout est très rapide, ca sort
directement à l'imprimante.
> Daniel.C wrote:
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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
Je l'ouvre depuis excel, pour le remplir, puis le referme. Au moment ou
j'ouvre le document word, il se rouvre tout seul.
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis Word ?
Lorsque je lance la macro word depuis word, tout est très rapide, ca sort
directement à l'imprimante.
> Daniel.C wrote: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 ?
Pourquoi le fermes-tu si tu dois le rouvrir ?
Je l'ouvre depuis excel, pour le remplir, puis le referme. Au moment ou
j'ouvre le document word, il se rouvre tout seul.
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 ?
Y a-t-il une différence quand tu lances la fusion manuellement ? Ou par
macro depuis Word ?
Lorsque je lance la macro word depuis word, tout est très rapide, ca sort
directement à l'imprimante.
> Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
> Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
> Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
Voici le code de la macro word.
With ActiveDocument.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="",
_
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse,
_
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
ActiveWindow.Close
> 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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
MaMacro = "'" & Fichier & "'!publi"
Wd.Run MaMacro
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Si tu es d'accord, j'essaierai de trouver un moyen de démarrer le
publipostage une fois la liaison Excel/Word interrompue.
Une autre approche serait d'exécuter la macro Word au démarrage du
document.
> 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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
MaMacro = "'" & Fichier & "'!publi"
Wd.Run MaMacro
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Si tu es d'accord, j'essaierai de trouver un moyen de démarrer le
publipostage une fois la liaison Excel/Word interrompue.
Une autre approche serait d'exécuter la macro Word au démarrage du
document.
> 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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
MaMacro = "'" & Fichier & "'!publi"
Wd.Run MaMacro
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Si tu es d'accord, j'essaierai de trouver un moyen de démarrer le
publipostage une fois la liaison Excel/Word interrompue.
Une autre approche serait d'exécuter la macro Word au démarrage du
document.
Essaie également - je ne peux pas le tester - le document Word étant
ouvert :
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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
With Dc.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Wd.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
Wd.ActiveWindow.Close
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Daniel
Essaie également - je ne peux pas le tester - le document Word étant
ouvert :
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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
With Dc.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Wd.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
Wd.ActiveWindow.Close
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Daniel
Essaie également - je ne peux pas le tester - le document Word étant
ouvert :
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 = GetObject(, "Word.Application")
Wd.Visible = True
If Dir(Chemin & Fichier) <> "" Then
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Else
MsgBox "Fichier introuvable"
Exit Sub
End If
With Dc.MailMerge
.OpenDataSource Name:="G:Source.xls" _
, ConfirmConversions:úlse, ReadOnly:úlse, LinkToSource:=True, _
AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:úlse, _
Format:=wdOpenFormatAuto, Connection:="Publipostage_Convoc", _
SQLStatement:="", SQLStatement1:=""
.DataSource.QueryString = _
"SELECT * FROM G:Source.xls WHERE ((Dossier <> ''))" & ""
.Destination = wdSendToNewDocument
.MailAsAttachment = False
.MailAddressFieldName = ""
.MailSubject = ""
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=True
End With
Wd.PrintOut Filename:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="",
PageType:=wdPrintAllPages, _
Collate:=True, Background:=True, PrintToFile:úlse,
PrintZoomColumn:=0, _
PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
Wd.ActiveWindow.Close
Dc.Close False
Wd.Quit
Set Dc = Nothing: Set Wd = Nothing
End Sub
Daniel
> Ici, l'instruction sans Open ne fonctionne pas chez moi. Mauvais paramètre,
même si je rajoute le chemin.Set Dc = Wd.Documents(Fichier)
Dc.Activate
Le chargement du fichier source du publipostage est très long.
> Ici, l'instruction sans Open ne fonctionne pas chez moi. Mauvais paramètre,
même si je rajoute le chemin.
Set Dc = Wd.Documents(Fichier)
Dc.Activate
Le chargement du fichier source du publipostage est très long.
> Ici, l'instruction sans Open ne fonctionne pas chez moi. Mauvais paramètre,
même si je rajoute le chemin.Set Dc = Wd.Documents(Fichier)
Dc.Activate
Le chargement du fichier source du publipostage est très long.