Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1114 connectés 

 



Dernière réponse
Sujet : Macro de publipostage en multiple fichiers pdf - Message d'erreur
Erasme C'était causé par le fait que j'avais anticipé des lignes, donc vides dans le fichier excel.
La macro n'appréciait pas.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Erasme C'était causé par le fait que j'avais anticipé des lignes, donc vides dans le fichier excel.
La macro n'appréciait pas.
Erasme

rat de combat a écrit :

Une histoire de slash simple vs slash double? Autrement dit C:\\test?


 
Il y avait une erreur dans le copier-coller, c'était la version avec le chemin absolu et non relatif, mais la logique est proche.
 
Quoi qu'il en soit j'ai tenté le "\\" en début et/ou fin de "\Sortie\"
Même résultat.

Erasme Oui, soucis à chaque fois que je modifie la premier message, ça remet systématiquement un titre d'un ancien topic que j'avais créé il y a plusieurs mois...
Je ne comprend pas pourquoi.
rat de combat C'est pas achat-ventes ici, tu as dû faire une fausse manip vu le nouveau titre. :o
rat de combat Une histoire de slash simple vs slash double? Autrement dit C:\\test?
Erasme Une amie m'a demandé de l'aide pour mettre au point un publipostage générant plusieurs fichiers pdf pour chaque ligne d'un fichier excel.
 
J'ai corrigé le fichier excel et publipostage sous word.
J'ai trouvé quelques macro permettant le publipostage en multiples fichiers pdf.
 

Citation :

Sub publipostagepdf()
' Déclaration des variables
Dim iR As Integer
Dim i As Integer
Dim oDoc As Document
Dim nom As String
Dim oDS As MailMergeDataSource
Dim path As String
 
path = Application.ActiveDocument.path
 
' 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
        nom = .DataSource.DataFields("NomFichier" ) 'Remplacer Nom" par le champ à utiliser
        Debug.Print DocName; i
        'Application.DisplayAlerts = False
             With ActiveDocument
            .SaveAs FileName:=path & "\Sortie\" & Format(Date, "yy" ) & Format(Date, "mm" ) & Format(Date, "dd" ) & Format(Time, "hhmm" ) & ".doc"
            .Close
             End With
    End With
    ' Sauvegarde du document publiposté
    With ActiveDocument
        .ExportAsFixedFormat OutputFileName:=path & "\Sortie\" & nom & ".pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False
    End With
Next i
End Sub


 
Au début je ne voyais pas comment sauvegarder en chemin relatif, mais j'ai trouvé.
 
Les fichiers se génèrent bien au bon endroit, mais j'obtiens un message d'erreur :
https://nsa40.casimages.com/img/202 [...] 694526.jpg
 
C'est manifestement lié à la ligne :

Citation :

.ExportAsFixedFormat OutputFileName:=path & "\Sortie\" & nom & ".pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False


 
Je ne vois pas ce qui peut coincer.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR