Bonjour a tous,

Cela fait maintenant quelques heures que je bute sur ce problème qui semble récurent chez pas mal de personnes mais dont je n'ai pu trouver une solution.

J'obtiens la fameuse erreur "« Le composant ActiveX ne peut pas créer l'objet » " au niveau de la ligne Set Pdf = CreateObject("pdfforge.Pdf.Pdf").

Pour information mon code marche très bien sur mon PC (ou je suis administrateur) mais pas lorsqu'il est sur un réseau, la version de PDFCreator est plus ancienne sur mon poste (1.4.3 contre 2.1). Les références sont les même sur les deux postes :

Nom : Capture.PNG
Affichages : 1535
Taille : 35,0 Ko

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Private Sub CommandButton1_Click()
 
CommandButton1.Caption = "Choix du dossier"
 
Dim LastRow As Integer
Dim i As Integer, j As Integer
Dim Fichiers() As Variant
Dim Pdf As Object
Dim Repertoire As FileDialog
Dim Dossier As String, Rep As String, sNomFichierPDF As String, sFichier As String
 
'### Dossier de travail ###'
 
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
    Repertoire.Show
 
If Repertoire.SelectedItems.Count > 0 Then
    MsgBox Repertoire.SelectedItems(1)
Else
    Exit Sub
End If
 
Rep = Repertoire.SelectedItems(1)
 
'### Impression des Documents###'
 
CommandButton1.Caption = "Impression des Documents"
 
    Set Pdf = CreateObject("pdfforge.Pdf.Pdf")
    j = 0
 
LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
 
    For i = 5 To LastRow
        If Feuil1.Range("A" & i) = "o" Then
            sFichier = Feuil1.Cells(i, 6).Hyperlinks(1).Address
            ReDim Preserve Fichiers(j)
            Fichiers(j) = sFichier
            j = j + 1
        End If
    Next i
    Pdf.MergePDFFiles_2 Fichiers, Rep & "\Liste Documents.pdf", True
 
    Set Pdf = Nothing
    Erase Fichiers
 
'### Numerotation Documents###'
 
CommandButton1.Caption = "Numérotation des pages"
 
Dim pdfText As Object, WshShell As Object
Dim NombrePages As Integer
Dim Chantier As String
 
    Set WshShell = CreateObject("WScript.Shell")
    Set Pdf = CreateObject("pdfforge.pdf.pdf")
 
    Chantier = Feuil6.Range("C7")
 
    Set pdfText = CreateObject("pdfforge.pdf.pdfText")
    With pdfText
        .Text = Chantier & " - " & "[PAGE] / [PAGES]"
        .FontColorBlue = 0
        .FontColorGreen = 0
        .FontColorRed = 0
        .FontName = "arial.ttf"
        .FontPath = WshShell.SpecialFolders("Fonts")
        .FontSize = 12
    End With
 
    NombrePages = Feuil6.Range("T26")
 
    Pdf.AddPageNumberToPDFFile Rep & "\Liste Documents.pdf", Rep & "\Liste Documents NumPages.pdf", 1, NombrePages, 1, NombrePages, 6, 15, 10, pdfText
 
    Kill Rep & "\Liste Documents.pdf"
 
    Set pdfText = Nothing    Set Pdf = Nothing    Set WshShell = Nothing
 
'### Assemblage des 3 PDF ###'
 
CommandButton1.Caption = "Assemblage"
 
    Dim Merge(2)
    Set Pdf = CreateObject("pdfforge.pdf.pdf")
 
    Merge(0) = Rep & "\Cartouche.pdf"    Merge(1) = Rep & "\Sommaire.pdf"    Merge(2) = Rep & "\Liste Documents NumPages.pdf"
 
    Pdf.MergePDFFiles_2 Merge, Rep & "\Liste Documents.pdf", False
 
    Kill Rep & "\Liste Documents NumPages.pdf"    Kill Rep & "\Cartouche.pdf"    Kill Rep & "\Sommaire.pdf"
 
    Set Pdf = Nothing
 
End Sub
J'arrive pas a savoir d'ou viendrait le problème, une référence? Mon code? PDFCreator?


Merci de votre aide!