'Publipostage > Word, enregistrement individuel en PDF Sub TestPublipostPdf() ' Déclaration des variables Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim DocName As String Dim oDS As MailMergeDataSource ' Affectation des objets Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR With oDoc.MailMerge 'Définition du premier et dernier enregistrement .DataSource.FirstRecord = i .DataSource.LastRecord = i ' Envoi des données dans un nouveau document .Destination = wdSendToNewDocument ' Exécution du publipostage .Execute ' Actualisation de l'enregistrement pour la sauvegarde .DataSource.ActiveRecord = i 'Utilisation de deux champs pour obtenir le nom du document ; remplacer le chiffre 6 par le numéro de colonne qui contient l'adresse mail 'si c'est pour un envoi sur outlook avec la macro en individuel ou par le n° de col qui servira de nom ) votre pdf DocName = .DataSource.DataFields(1).Value 'Si vous souhaitez utiliser deux champs pour nommer votre document retirez la quote devant la ligne qui suit et remplacer le n° de colonne 'DocName = DocName & "-" & .DataSource.DataFields(3).Value Debug.Print DocName; i End With ' Chemin de Sauvegarde du document publiposté ; modifier le chemin avec les guillemets sans oublier de mettre un \ à la fin With ActiveDocument 'N'oubliez pas de rajouter un \ après le nom de votre dossier et avant la fermeture des guillemets .SaveAs "C:\Users\Patricia\Desktop\PJ\" & DocName & ".pdf", wdExportFormatPDF .Close False End With Next i End Sub 'Publipostage > Word, enregistrement individuel en DOC Sub TestPublipostDoc() ' Déclaration des variables Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim DocName As String Dim oDS As MailMergeDataSource ' Affectation des objets Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR With oDoc.MailMerge 'Définition du premier et dernier enregistrement .DataSource.FirstRecord = i .DataSource.LastRecord = i ' Envoi des données dans un nouveau document .Destination = wdSendToNewDocument ' Exécution du publipostage .Execute ' Actualisation de l'enregistrement pour la sauvegarde .DataSource.ActiveRecord = i 'Utilisation de deux champs pour obtenir le nom du document ; remplacer le chiffre 6 par le numéro de colonne qui contient l'adresse mail 'si c'est pour un envoi sur outlook avec la macro en individuel ou par le n° de col qui servira de nom ) votre doc DocName = .DataSource.DataFields(6).Value 'Si vous souhaitez utiliser deux champs pour nommer votre document retirez la quote devant la ligne qui suit et remplacer le n° de colonne 'DocName = DocName & "-" & .DataSource.DataFields(3).Value Debug.Print DocName; i End With ' Chemin de Sauvegarde du document publiposté ; modifier le chemin avec les guillemets sans oublier de mettre un \ à la fin With ActiveDocument 'N'oubliez pas de rajouter un \ après le nom de votre dossier et avant la fermeture des guillemets .SaveAs "C:\Users\Patricia\Desktop\PJ\" & DocName & ".doc" .Close End With Next i End Sub