Bonjour à tous,
J'ai un fichier Excel qui doit alimenter un Word (contrat) par publipostage. De mon fichier Excel, je souhaite une macro qui permet par un bouton : d'ouvrir le Word, Publipostage à jour et s'enregistre en PDF à un lieu précis.
J'ai un code erreur qui s'affiche : Erreur d'exécution "91" : variable objet ou variable bloc with non définie
Voici mon code
Sub Fusion_Publipostage()
Dim wordDoc As Word.Document
Dim wordApp As Word.Application
Dim Nombase As String
Nombase = "T:\Céleste\Fiche client\Fiche client comp.xlsm"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
Set wordDoc = appWord.Documents.Open("T:\Céleste\Fiche client\CG FOURNITURE DE GAZ IND.docx")
With wordDoc.MailMerge
'La base Excel est dans le même répertoire que le doc Word.
'Les données sont dans la feuille nommée Pour publi condi.
.OpenDataSource Name:=Nombase, _
Connection:="Driver={Microsoft Excel Driver (*.xlsm)};" & _
"DBQ=" & Nombase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Pour publi Condi$]"
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = 2
End With
.SuppressBlankLines = True
.Execute Pause:=False
End With
DoEvents
Set WdLType = wordApp.ActiveDocument 'Document obtenu par la fusion (quand il sera obtenu...)
'WdLType.PrintOut
'WdLType.SaveAs Filename:=" T:\Céleste\Fiche client\Contrat client.PDF" ' ^^^ !
DoEvents
WdLType.Close False
DoEvents
WdDoc.Close False
DoEvents
wordApp.Quit
Set WdLType = Nothing
Set WdDoc = Nothing
Set wordApp = Nothing
End Sub
Le problème semble être sur cette ligne :
Set WdLType = wordApp.ActiveDocument 'Document obtenu par la fusion (quand il sera obtenu...)
Pouvez-vous m'aider?
Merci par avance.
J'ai un fichier Excel qui doit alimenter un Word (contrat) par publipostage. De mon fichier Excel, je souhaite une macro qui permet par un bouton : d'ouvrir le Word, Publipostage à jour et s'enregistre en PDF à un lieu précis.
J'ai un code erreur qui s'affiche : Erreur d'exécution "91" : variable objet ou variable bloc with non définie
Voici mon code
Sub Fusion_Publipostage()
Dim wordDoc As Word.Document
Dim wordApp As Word.Application
Dim Nombase As String
Nombase = "T:\Céleste\Fiche client\Fiche client comp.xlsm"
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
Set wordDoc = appWord.Documents.Open("T:\Céleste\Fiche client\CG FOURNITURE DE GAZ IND.docx")
With wordDoc.MailMerge
'La base Excel est dans le même répertoire que le doc Word.
'Les données sont dans la feuille nommée Pour publi condi.
.OpenDataSource Name:=Nombase, _
Connection:="Driver={Microsoft Excel Driver (*.xlsm)};" & _
"DBQ=" & Nombase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [Pour publi Condi$]"
.Destination = wdSendToNewDocument
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = 2
End With
.SuppressBlankLines = True
.Execute Pause:=False
End With
DoEvents
Set WdLType = wordApp.ActiveDocument 'Document obtenu par la fusion (quand il sera obtenu...)
'WdLType.PrintOut
'WdLType.SaveAs Filename:=" T:\Céleste\Fiche client\Contrat client.PDF" ' ^^^ !
DoEvents
WdLType.Close False
DoEvents
WdDoc.Close False
DoEvents
wordApp.Quit
Set WdLType = Nothing
Set WdDoc = Nothing
Set wordApp = Nothing
End Sub
Le problème semble être sur cette ligne :
Set WdLType = wordApp.ActiveDocument 'Document obtenu par la fusion (quand il sera obtenu...)
Pouvez-vous m'aider?
Merci par avance.