Sub Export_Publipost_PDF_single()
Dim rep_PDF$, i&
'affichage boite dialogue pour choix dossier Export
'par défaut pointe sur le dossier du document Word contenant ce code VBA
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Choisir le dossier d'export PDF"
.InitialFileName = ActiveDocument.Path & "\"
If .Show Then rep_PDF = .SelectedItems(1) Else Exit Sub
End With
Application.ScreenUpdating = False
'-> la macro lance le publipostage
For i = 1 To ActiveDocument.MailMerge.DataSource.RecordCount
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
docname = .DataFields("NOM").Value & ".pdf"
'création du nom du fichier PDF basé sur le champ de fusion NOM
'-> adapter selon vos besoins, en remplaçant NOM par le champ idoine
End With
.Execute Pause:=False
End With
'->export en PDF unique pour chaque enregistrement dans la base
ActiveDocument.ExportAsFixedFormat OutputFileName:=rep_PDF & "\" & docname, _
ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=True, UseISO19005_1:=False
ActiveWindow.Close False
Next i
End Sub