Macro publipostage enregistrement PDF séparé

Fermé
DianaSVG Messages postés 1 Date d'inscription dimanche 26 décembre 2021 Statut Membre Dernière intervention 26 décembre 2021 - 26 déc. 2021 à 22:13
yg_be Messages postés 22778 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 11 mai 2024 - 26 déc. 2021 à 23:13
Bonsoir à tous,

J'essaie de trouver une solution mais je n'arrive pas. Je suis en train d'essayer différents MACROS pour avoir un enregistrement PDF après un publipostage. Je viens de trouver ce MACRO (je vais le partager ci-dessous), lors de l'essai j'ai bien eu la confirmation que tous mes documents ont été enregistrés dans mon dossier... mais par contre, je n'ai qu'un seul document. Est-ce que quelqu'un connaît les raisons svp?

Merci d'avance,
Bonne soirée,
Dianna V

MACRO:

Sub SavePubliAsPDF()
Dim LastRec As Integer
Dim Path As String, Id As String

Application.ScreenUpdating = False

'Choix du dossier d'enregistrement des fichiers
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Sélectionnez un dossier où enregistrer vos fichiers"
.Show
If Not (.SelectedItems.Count = 0) Then
Path = .SelectedItems(1)
Else
Exit Sub
End If
End With

'Décompte du nombre d'enregistrements dans le publipostage
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
LastRec = ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord

'Enregistrement des fichiers
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = False
For i = 1 To LastRec Step 1
Id = ActiveDocument.MailMerge.DataSource.DataFields(1).Value
ActiveDocument.SaveAs2 Path & "\Courrier " & Id & ".pdf", wdFormatPDF
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Next i

MsgBox "L'enregistrement de votre publipostage est terminé." & vbLf & vbLf & LastRec & " fichiers ont été enregistrés dans le dossier : " & Path, vbOKOnly + vbInformation, "Enregistrement du publipostage terminé"

Application.ScreenUpdating = True
End Sub
A voir également:

1 réponse

yg_be Messages postés 22778 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 11 mai 2024 1 481
26 déc. 2021 à 23:13
bonjour,
je me demande si ceci
Id = ActiveDocument.MailMerge.DataSource.DataFields(1).Value

ne devrait pas être plutôt:
Id = ActiveDocument.MailMerge.DataSource.DataFields(i).Value
0