Macro publipostage enregistrement PDF séparé
Résolu
Marie7831
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
FRN -
FRN -
Bonjour à tous,
Je recherche désespéramment une macro pouvant m'enregistrer chaque feuille d'un publipostage en un PDF séparé, en prenant comme nom de fichier un champ du publipostage (<<Ville>>).
J'ai testé plusieurs macros sans jamais réussir à obtenir ce dont j'avais besoin.
Si quelqu'un a une idée :)
Merci par avance,
bonne journée,
Marie
Je recherche désespéramment une macro pouvant m'enregistrer chaque feuille d'un publipostage en un PDF séparé, en prenant comme nom de fichier un champ du publipostage (<<Ville>>).
J'ai testé plusieurs macros sans jamais réussir à obtenir ce dont j'avais besoin.
Si quelqu'un a une idée :)
Merci par avance,
bonne journée,
Marie
A voir également:
- Publipostage pdf remplissable
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Publipostage mail - Accueil - Word
- Save as pdf office 2007 - Télécharger - Bureautique
- Publipostage date inversée ✓ - Forum Word
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu nous en dire plus?
à tout hasard:
Et en mode débogage c'est ceci qui bloque en premier :
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdLastRecord
Voici la 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