user_mobilelogo

Vous souhaitez faire un publipostage de type Lettres directement vers des fichiers PDF. Ces fichiers PDF auront pour nom le contenu d'un champ de votre base de données.

Voici une macro pour accomplir cette fusion. Complétez-la en indiquant le chemin complet du dossier dans lequel enregistrer vos fichiers PDF, et en indiquant le nom du champ qui va servir de nom au fichier. Dans mon exemple, il s'agit du champ "Nom".

Attention, cette macro remplace le publipostage manuel. Elle doit être exécutée depuis votre document principal de fusion.

Sub publipostage()
Dim fusion As MailMerge
Dim x As Integer, nb As Integer
Dim chemin As String, nom As String
Set fusion = ActiveDocument.MailMerge
chemin = "D:\Mes documents\" 'mettre ici le chemin complet du dossier où stocker les fichiers sans oublier le \ à la fin
nb = fusion.DataSource.RecordCount
For x = 0 To nb - 1
With fusion
    .DataSource.FirstRecord = x + 1
    .DataSource.LastRecord = x + 1
    .Destination = wdSendToNewDocument
    .DataSource.ActiveRecord = x + 1
    nom = .DataSource.DataFields("Nom"'Remplacer Nom" par le champ à utiliser
    .Execute
End With
ActiveDocument.ExportAsFixedFormat OutputFileName:=chemin & nom & ".pdf", ExportFormat:=wdExportFormatPDF, openafterexport:=False
ActiveDocument.Close savechanges:=False

Next
End Sub
 

Statistiques

Aujourd'hui623
Hier2470
Cette semaine4956
Ce mois4956
Total depuis 200411592312

38
visiteurs actuellement en ligne

3 juin 2020