Word Publipostage en pdf séparés avec nom des fichiers différents

Blondie92

XLDnaute Nouveau
Bonjour,

Je lance une bouteille à la mer. Depuis ce matin je navigue sur internet sans succès. J'ai lu des pages de forums et des sites mais je n'y arrive pas.

Je cherche à fusionner mon publipostage word (2016) en plusieurs pdf et qu'ils s'enregistrent avec des noms différents, provenant d'un champ de fusion.
Pour que mes 250 courriers soient renommés en "Prénom-Nom" selon les destinataires au lieu de le faire manuellement.

J'ai trouvé ce code https://www.faqword.com/index.php/word/publipostage/1075-publipostage-directement-vers-fichiers-pdf mais, je ne sais pas pourquoi, il ne fonctionne pas.


Merci à vous!
 

kiki29

XLDnaute Barbatruc
Salut, voir ci dessous dans "Discussions similaires", si tu attends du "tout cuit" c'est rarement le cas,et il te faudra adapter à ton contexte.
De plus sans échantillon et n'étant pas doté de boule de cristal, difficile d'apporter une aide quelconque.
 

Blondie92

XLDnaute Nouveau
quand tu dis "il ne fonctionne pas", tu peux préciser ce qui ce passe ?
Bonjour,
Voici ce qu'il se passe:

Code:
Sub publipostage()  <=== jaune
'
' publipostage Macro
'
Dim fusion As MailMerge
Dim x As Integer ,  nb As Integer
Dim chemin As String ,  nom As String
Set fusion  =  ActiveDocument.MailMerge
chemin = "C:\Users\mes documents"  <=== rouge
nb  =  fusion.DataSource.RecordCount
For x  =  0 To nb  -  1
With fusion
    .DataSource.FirstRecord  =  x  +  1
    .DataSource.LastRecord  =  x  +  1
    .Destination  =  wdSendToNewDocument
    .DataSource.ActiveRecord  =  x  +  1
    nom  =  .DataSource.DataFields("Nom_dusage""Prenom")
    .Execute
End With
ActiveDocument.ExportAsFixedFormat OutputFileName:=chemin & nom & ".pdf", ExportFormat:=wdExportFormatPDF, openafterexport:=False
ActiveDocument.Close savechanges:=False  <=== rouge

Next
End Sub

ça me met en rouge deux lignes et j'ai une fenêtre d'erreur dès l’exécution "erreur de compilation, sub ou fonction non défini" qui me surligne en jaune le "Sub "publipostage()".

Je suis totalement novice en la matière, je n'arrive pas à voir ce qui coince.
 

Nain porte quoi

XLDnaute Junior
1- Dans la source que tu cites il est bien préciser "'mettre ici le chemin complet du dossier où stocker les fichiers sans oublier le \"
donc ça devrait déjà ressembler à ça
chemin = "C:\Users\mes documents\"
2- j'ai un doute sur le chemin parce que normalement entre "Users" et "Mes documents" y'a le nom de l'utilisateur du PC. Tu devrais essayer avec un dossier plus simple
3- toujours dans le source que tu cites, il est dit "indiquant le nom du champ qui va servir de nom au fichier. Dans mon exemple, il s'agit du champ "Nom"" toi tu met 2 champs là où il n'en faut qu'un .DataSource.DataFields("Nom_dusage""Prenom")

Bref, il y a des erreurs et comme tu es "novice" je ne te conseille pas de continuer sans avoir quelques bases en VBA
Peut-être t'adresser à un forum de spécialistes de Word, ici ça semble plutôt être Excel la partie dominante
Bon courage
 

Blondie92

XLDnaute Nouveau
Effectivement, j'ai modifié le chemin dans l'exemple car il y avait mon nom, cela faisait ""C:\Users\Monnom\Desktop\Rappel\"... vu que c'est l'ordinateur du travail, c'est un peu délicat, je suis obligée de le mettre sur le bureau pour éviter qu'il ne bouge constamment.

Pour le 3, je voulais effectivement que le fichier soit renommer selon ces champs de fusion, pour le coup cette ligne n'avait pas d'erreur.

Tu as raison, je vais essayé de trouver une autre solution, merci beaucoup d'avoir essayé!
 

Discussions similaires

Statistiques des forums

Discussions
314 710
Messages
2 112 117
Membres
111 429
dernier inscrit
AFZ