XL 2016 Conversion en PDF de plusieurs courrier suivant base de donnée

dindin

XLDnaute Occasionnel
Bonjour le Forum
j'ai une base d'environ 100 Contacts : nom prénom adresse ......
j'ai un courrier type dans un autre onglet

j'utilise ce code pour convertir le courrier en PDF
VB:
Private Sub pdf_Click()
' pdf Macro

Dim fName As String
With Worksheets("Autorisation")
    fName = .Range("A17").Value & " _ " & .Range("F10").Value
End With

'récuperer le chemein du dossier source
ChDir ThisWorkbook.Path


'enregistrer le pdf dans le même dossier que le fichier source
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & fName, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'afficher message à la fin d'enregistrement du PDF
MsgBox ("Le permis N° " & fName & " a été bien enregistré en PDF dans : " & ThisWorkbook.Path & vbLf & "Vous pouvez joindre ce fichier par mail.")
'enregistrer le classeur
ActiveWorkbook.Save

End Sub
L'objectif et de convertir ce courrier type en PDF (plusieurs pages bien sur ) suivant la liste des personnes de la base (parfois ça peut aller jusqu'à 100 personnes donc 100 pages) et l'enregistrer dans le même classeur ou se trouve le fichier excel.
je n'arrive pas à adapter ce bout de code car je suis novice en VBA
Merci pour votre aide
je joins le fichier
 

Pièces jointes

  • Pdf en masse.xlsm
    13 KB · Affichages: 19

GALOUGALOU

XLDnaute Accro
important le classeur excel doit être isolé dans un dossier
n'ayant aucune connaissance du classeur final, j'ai choisi des cellules en colonne D pour recevoir les informations. à vous d'adapter en corrigeant la macro
idem pour le nom du fichier ou j'ai rajouté la date et l'heure pour que les fichiers soient unique.
libre à vous de supprimer cette ligne.
j'ai supprimé la msgbox pour la mise au point, mais vous pouvez la replacer en fin d'exécution.

par contre je pense que laurent3372 a raison et que le publipostage est certainement très adapté a votre problèmatique.
mais j'ai voulu répondre nativement à la question posée.
cordialement
galougalou
 

dindin

XLDnaute Occasionnel
important le classeur excel doit être isolé dans un dossier
n'ayant aucune connaissance du classeur final, j'ai choisi des cellules en colonne D pour recevoir les informations. à vous d'adapter en corrigeant la macro
idem pour le nom du fichier ou j'ai rajouté la date et l'heure pour que les fichiers soient unique.
libre à vous de supprimer cette ligne.
j'ai supprimé la msgbox pour la mise au point, mais vous pouvez la replacer en fin d'exécution.

par contre je pense que laurent3372 a raison et que le publipostage est certainement très adapté a votre problèmatique.
mais j'ai voulu répondre nativement à la question posée.
cordialement
galougalou
Très grand merci à vous
 

laurent3372

XLDnaute Impliqué
Supporter XLD
Bonsoir,

Voici une solution avec Word automatisé depuis une macro VBA Excel.

Tous les fichiers sont dans le même répertoire (celui du .xlsm)
Le modèle de lettre est dans le fichier Word ModèlePDF.docx
le fichier PDF généré porte le même nom que le fichier xlsm avec l'extension .pdf. Il est écrasé à chaque exécution de la macro.

Si tu as d'autres exigences concernant le nom des fichiers et leur emplacement, dis-le moi.

Cordialement,
--
LR
 

Pièces jointes

  • Pdf en masse (1).xlsm
    23.9 KB · Affichages: 13
  • ModèlePDF.docx
    17.3 KB · Affichages: 14

dindin

XLDnaute Occasionnel
Bonsoir,

Voici une solution avec Word automatisé depuis une macro VBA Excel.

Tous les fichiers sont dans le même répertoire (celui du .xlsm)
Le modèle de lettre est dans le fichier Word ModèlePDF.docx
le fichier PDF généré porte le même nom que le fichier xlsm avec l'extension .pdf. Il est écrasé à chaque exécution de la macro.

Si tu as d'autres exigences concernant le nom des fichiers et leur emplacement, dis-le moi.

Cordialement,
--
LR
Bonjour le forum

bonjour Laurent

Après réflexion je reviens vers toi si tu le permets pour m'aider. Finalement ton idée me plait beaucoup , le seule souci ton code est très complexe pour un novice comme moi.
j'ai essayé de l'adapter mais je n'ai pas réussi.

l'objectfif actuel c'est pouvoir convertir en PDF au choix via publipostage chaque permis et le partager par mail,
le partage par mail je sais le faire,
il me reste cette conversion depuis le formulaire en pdf d'un seul permis.
lors de la conversion ,le PDF sera enregistré dans le même dossier que le classeur
et on le nomme comme suit : A1_E1
ex: "2020_TR_1" & "de" & "Acoline"
la base peut contenir jusqu'à 1000 permis
les fichiers Word sont séparés car le texte ne sera pas le même en réalité.
j'ai déjà préparé un formulaire qui fait le tri des demandes TR et DM
je joins les fichiers

Merci pour ton aide
 

Pièces jointes

  • DM_type.docx
    18.3 KB · Affichages: 3
  • Pdf en masse (1).xlsm
    353.2 KB · Affichages: 7
  • TR_type.docx
    18.3 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 156
Messages
2 085 815
Membres
102 991
dernier inscrit
remyexcel