Bonjour,
J'utilise la version gratuite de Pdf Architecte. A l'époque où je l'ai chargée, on en était à la version 2.5, il est donc possible que la dll ait évolué.
Dans le code ci-dessous, les fichiers pdf à fusionner sont d'abord chargés dans une matrice "ListeFichiers", mais on peut boucler directement sur un Range.
Dans cette version du code, la dll Pdfcreator est référencée.
Je crois me souvenir que la trame du code ci-dessous est de Ron de Bruyn.
Sub MergePDFViaImpressionPdf(ByVal CheminFichierFusionne2 As String, ByVal NomFichierFusionne2 As String, ByVal CheminDesFichiersPdf2 As String)
Dim J As Long
Dim RepertoirePdf As String
Dim oPDF As PdfCreatorObj
Dim Q As PDFCreator_COM.Queue
Dim job As PDFCreator_COM.PrintJob
On Error GoTo fin
Set oPDF = New PdfCreatorObj
With oPDF
For J = LBound(ListeFichiers) To UBound(ListeFichiers)
.AddFileToQueue ListeFichiers(J) '& ".pdf"
Next J
End With
Set Q = New PDFCreator_COM.Queue
With Q
.Initialize
.WaitForJobs 2, 10
Debug.Print "q.Count: " & Q.Count ' here it prints either 1 or 2. Should always be 2.
.MergeAllJobs
End With
While Q.Count > 0
Set job = Q.NextJob
job.SetProfileByGuid ("DefaultGuid")
job.ConvertTo (CheminFichierFusionne2 & Application.PathSeparator & NomFichierFusionne2) '(OutPath)
Wend
Q.ReleaseCom
GoTo fin
fin:
Set job = Nothing
Set Q = Nothing
Set oPDF = Nothing
End Sub