Macro publipostage enregistrement PDF séparé

Résolu
Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
 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

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, peux-tu nous en dire plus?
    2
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
       
      tu as testé plusieurs macros: où cela coince-t-il? l'enregistrement de chaque page, le nom du fichier, ...?
      à tout hasard:
      ActiveDocument.ExportAsFixedFormat OutputFileName:= _
      "D:StuffBusinessTempPDFName.pdf", _ 
      ExportFormat:=wdExportFormatPDF, _ 
      Range:=wdExportFromTo, From:=1, To:=1 
      0
    2. Marie7831 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
       
      Erreur d'exécution 5852 : L'objet demandé n'est pas disponible.
      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
      0