1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Sub Tst_Fusion()
Dim sDossierPDF As String
Dim sDossierOut As String
Dim sFichierFusion As String
sDossierPDF = ThisWorkbook.Path & "\"
sDossierOut = ThisWorkbook.Path & "\" & "Test" & "\"
sFichierFusion = "Fusion.pdf"
FusionPDFs sDossierPDF, sDossierOut, sFichierFusion
End Sub
Private Sub FusionPDFs(sPdfDir As String, _
sPdfOutDir As String, _
sFichierOut As String)
Dim bFirst As Boolean
Dim oPDDoc As Object
Dim oTempPDDoc As Object
Dim LastRow As Long
Dim I As Long
Dim sFichier As String
Dim iLigne As Integer
Dim iNoPatient As Integer
Dim NomNouveauFichier As String
Dim NomGenerique As String
LastRow = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
'Remplcae Nomfeuille par le nom de l'onglet de la feuille
iLigne = 1
NomGenerique = "Dossier1, Dossier2, Dossier3, Dossier4" 'a toi de completer ici
'tes sous rep doivent s'appeler quelques choses du genre Sous rep1, Sous rep2 , Sous rep 3 et Sous rep 4
While iLigne < LastRow
bFirst = True
iNoPatient = iNoPatient + 1
For I = 0 To 3
sFichier = Sheets("Feuil1").Range("A" & iLigne + I)
'Remplcae Nomfeuille par le nom de l'onglet de la feuille ici aussi
If bFirst Then
bFirst = False
Set oPDDoc = CreateObject("AcroExch.PDDoc")
oPDDoc.Open sPdfDir & NomGenerique & I + 1 & "\" & sFichier
Else
Set oTempPDDoc = CreateObject("AcroExch.PDDoc")
oTempPDDoc.Open sPdfDir & NomGenerique & I + 1 & "\" & sFichier
oPDDoc.InsertPages oPDDoc.GetNumPages - 1, oTempPDDoc, 0, oTempPDDoc.GetNumPages, 1
oTempPDDoc.Close
End If
Next I
'J'ai mis iNoPatient devant pour eviter d'ecraser le patient1_pdf1.pdf original
NomNouveauFichier = iNoPatient & Feuil1.Range("A" & iLigne) 'Remplcae Nomfeuille par le nom de l'onglet de la feuille ici aussi
iLigne = iLigne + 4
With oPDDoc
.Save 1, sPdfOutDir & "\" & NomNouveauFichier
.Close
End With
Set oPDDoc = Nothing
Set oTempPDDoc = Nothing
Wend
End Sub |
Partager