VBA Fusionner des PDF avec PdfCreator

Bonjour à tous les "Excel(lents)-Pratique(tiens)"

Donc je vous propose mon code afin de compiler 3 pdf en VBA avec PdfCreator.

DEUX problèmes se posent :

1- J'ouvre mon fichier xlsm contenant mon code, je lance ma macro et tout fonctionne parfaitement (J'suis content )

Je relance ma macro une deuxième fois ... Je n'ai plus qu'un seul fichier qui est fusionné !

Je re-relance une troisième fois... ça marche !

J'ai ajouté un If qui compte et qui relance, mais bon, c'est un emplâtre sur une jambe de bois

Quelqu'un aurait-il une vraie solution ???

2- Après ces manipulations, je lance PdfCreator et là je me retrouve avec tout plein de fichiers dans la file d'attente !

Je propose de faire un CLEARCACHE de PdfCreator mais je n'arrive pas à lancer la commande Shell donc je ne sais pas si cela fonctionne.

Un un Ex(cel)pert pour une une solution ???

Merci d'avance.

Sébastien

'Necessite PDFCreator_COM
Sub FusionPdf()
Dim PdfCrea, PdfCreaFile, PdfCreaImp As Object
Dim TraImp As PrintJob
Dim TabLiens(2, 1)
'++++++++++++++++++++++++++++++++++++++++++++++++
On Error Resume Next
'++++++++++++++++++++++++++++++++++++++++++++++++
Set PdfCrea = Nothing
Set PdfCreaFile = Nothing
Set TraImp = Nothing
'++++++++++++++++++++++++++++++++++++++++++++++++
TabLiens(0, 0) = Dir(ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 1\" & "01*Nom1*.pdf")
TabLiens(0, 1) = ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 1\" & TabLiens(0, 0)
TabLiens(1, 0) = Dir(ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 2\" & "01*Nom2*.pdf")
TabLiens(1, 1) = ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 2\" & TabLiens(1, 0)
TabLiens(2, 0) = Dir(ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 3\" & "01*Nom3*.pdf")
TabLiens(2, 1) = ThisWorkbook.Path & "\01 Dossier Test\01 Sous-Dossier Test 3\" & TabLiens(2, 0)
'++++++++++++++++++++++++++++++++++++++++++++++++
Debut:
'++++++++++++++++++++++++++++++++++++++++++++++++
Set PdfCrea = CreateObject("PDFCreator.PDFCreatorObj")
Set PdfCreaFile = CreateObject("PDFCreator.JobQueue")
Call PdfCreaFile.Initialize
'++++++++++++++++++++++++++++++++++++++++++++++++
Call PdfCrea.AddFileToQueue(TabLiens(0, 1))
Call PdfCrea.AddFileToQueue(TabLiens(1, 1))
Call PdfCrea.AddFileToQueue(TabLiens(2, 1))
'++++++++++++++++++++++++++++++++++++++++++++++++
If PdfCreaFile.Count <= 1 Then
    GoTo Recommencer
End If
'++++++++++++++++++++++++++++++++++++++++++++++++
Call PdfCreaFile.MergeAllJobs
'++++++++++++++++++++++++++++++++++++++++++++++++
Set TraImp = PdfCreaFile.NextJob
With TraImp
.SetProfileByGuid "DefaultGuid"
.SetProfileSetting "ShowProgress", "false"
.ConvertTo (ThisWorkbook.Path & "\" & "FusionDesPdf.pdf")
End With
'++++++++++++++++++++++++++++++++++++++++++++++++
Call PdfCreaFile.Clear
Call PdfCreaFile.ReleaseCom
Set PdfCrea = Nothing
Set PdfCreaFile = Nothing
Set TraImp = Nothing
'++++++++++++++++++++++++++++++++++++++++++++++++
'Peut-etre appeler ClearCache de PdfCreator ???
'C:\Program Files\PDFCreator> .\pdfcreator.exe /CLEARCACHE
'++++++++++++++++++++++++++++++++++++++++++++++++
Exit Sub
Recommencer:
Call PdfCreaFile.Clear
Call PdfCreaFile.ReleaseCom
Set PdfCrea = Nothing
Set PdfCreaFile = Nothing
Set TraImp = Nothing
'++++++++++++++++++++++++++++++++++++++++++++++++
'C:\Program Files\PDFCreator> .\pdfcreator.exe /CLEARCACHE
'++++++++++++++++++++++++++++++++++++++++++++++++
GoTo Debut
End Sub
Rechercher des sujets similaires à "vba fusionner pdf pdfcreator"