Bonjour à tous,
Pour éditer des fiches, j'ai utilisé la méthode suivante :
- dans une feuille, une fiche "modèle" recto + verso est composée de champs avec formules
- les deux zones constituent la zone d'impression
- un cellule (hors zone) reçoit la position de la ligne de la base de données où les formules doivent prendre les éléments pour constituer la fiche ; elle est modifiée par VBA
- le code ci-après (vu sur plusieurs fils ici-même) me permet de créer un fichier .pdf pour chaque fiche
(ce code parce que, si je suis en EXCEL 2010, l'utilisateur est en EXCEL 2003)
Question : si je souhaite envoyer plusieurs fiches (voir les 400) dans le même .pdf, que faut-il ajouter à ce code? (je n'envisage pas de dupliquer le recto-verso en 400 exemplaires)
Merci d'avance,
Cordialement
Pour éditer des fiches, j'ai utilisé la méthode suivante :
- dans une feuille, une fiche "modèle" recto + verso est composée de champs avec formules
- les deux zones constituent la zone d'impression
- un cellule (hors zone) reçoit la position de la ligne de la base de données où les formules doivent prendre les éléments pour constituer la fiche ; elle est modifiée par VBA
- le code ci-après (vu sur plusieurs fils ici-même) me permet de créer un fichier .pdf pour chaque fiche
(ce code parce que, si je suis en EXCEL 2010, l'utilisateur est en EXCEL 2003)
Question : si je souhaite envoyer plusieurs fiches (voir les 400) dans le même .pdf, que faut-il ajouter à ce code? (je n'envisage pas de dupliquer le recto-verso en 400 exemplaires)
Code:
Private Sub CommandButton1_Click()
Dim JobPDF As Object
Dim sNomPDF As String
Dim sCheminPDF As String
' ---- Indique le nom du fichier et le chemin du répertoire
sNomPDF = "Essai_" & ".pdf"
sCheminPDF = ThisWorkbook.Path & "\"
' ----- Vérifie si données dans la feuille
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
' ----- Transmet les paramètre à PDFCreator
Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")
With JobPDF
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sCheminPDF
.cOption("AutosaveFilename") = sNomPDF
.cOption("AutosaveFormat") = 0 ' Type de fichier : 0=PDF, 1=Png, 2=jpg, 3=bmp, 4=pcx, 5=tif, 6=ps, 7=eps, 8=txt
.cClearCache
End With
' ---- Indique le nombres de copies et l'imprimante virtuelle - Impression
ActiveWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
' ----- Fichier dans la file d'attente
Do Until JobPDF.cCountOfPrintjobs = 1
DoEvents
Loop
JobPDF.cPrinterStop = False
' ----- Attendre que la file d'attente soit vide
Do Until JobPDF.cCountOfPrintjobs = 0
DoEvents
Loop
Application.Wait Now + TimeValue("00:00:03")
JobPDF.cClose
Set JobPDF = Nothing
End Sub
Merci d'avance,
Cordialement
Dernière édition: