Ceci dit, j'ai un peu avancé.
Si quelqu'un pouvait m'aider sur la façon de nommer le fichier, ça m'enlèverait une grosse épine du pied
Mon code VBA mis à jour:
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 35 36 37 38
| Sub Publipostage()
'Enregistre le fichier au format.pdf
'N?cessite d'activer la r?f?rence "Microsoft Word xx.x Object Library"
Dim docWord As Word.Document
Dim appWord As Word.Application
Dim NomBase As String
NomBase = ThisWorkbook.FullName
Application.ScreenUpdating = False
Set appWord = New Word.Application
appWord.Visible = True
'Ouverture du document principal Word
Set docWord = appWord.Documents.Open("C:\Users\PC\Desktop\ProjetPublipostage\VI\PUBLIPOSTAGE RAPPORT V3.docx")
'fonctionnalit? de publipostage pour le document sp?cifi?
With docWord.MailMerge
'Ouvre la base de donn?es
.OpenDataSource Name:=NomBase, _
Connection:="Driver={Microsoft Excel Driver (*.xlsx)};" & _
"DBQ=" & NomBase & "; ReadOnly=True;", _
SQLStatement:="SELECT * FROM [BASE DE DONNEE PUBLIPOSTAGE$]"
With .DataSource
.FirstRecord = 1
.LastRecord = 1
End With
'Ex?cute l'op?ration de publipostage
.Execute
End With
' Sauvegarde du document publipost?
With appWord.ActiveDocument
.ExportAsFixedFormat OutputFileName:="C:\Users\PC\Desktop\ProjetPublipostage\VI\" & "New_name" & ".pdf", ExportFormat:= _
wdExportFormatPDF, OpenAfterExport:=False
End With
Application.ScreenUpdating = True
'Fermeture du document Word
docWord.Close False
appWord.ActiveDocument.Close False
appWord.Quit
End Sub |
Pour l'instant le hic se trouve ici:
1 2
| With appWord.ActiveDocument
.ExportAsFixedFormat OutputFileName:="C:\Users\PC\Desktop\ProjetPublipostage\VI\" & "New_name" & ".pdf", ExportFormat:= _ |
Où il doit y avoir une ligne qui manque pour appeler le fichier Excel en cours et appeler les données de cellules AE2 et A2. Ainsi, New_name serait égale à
"Prèlevement n°" & "Range("A2").Value" & "effectué en date du " & "Range (AE2).Value"
Mais si je rentre la formule tel qu'elle, vu que je commence avec With appWord.ActiveDocument, le VBA ne trouve pas la référence (la feuille excel)
Une idée?
Merci d'avance.
Partager