Bonjour,

Tout d’abord je vais expliquer un peut se que mon application vb fait.
Elle crée des fichiers en .xls et les enregistres.
Suite à cela je récupère ses fichiers, je les ouvres et je sélectionne les pages à enregistrer en pdf.
Toute ce passe très bien sauf qu’une fois sur deux j’ai une erreur : « erreur d’exécution ‘91’ : variable objet ou variable de bloc with non définie »
Et cette erreur s’applique sur le bout de code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
J’ai essayée plusieurs choses notamment le remplacer par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
mais cela fait pareil.

Je vous met la fonction entière de création de mon pdf.

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
 
 Sub PrintToPDF (Optional ByVal strPDFName As String = "", Optional ByVal strDirectory As String = "") ' nom pdf , nom repertoir
    Dim pdfjob As PDFCreator.clsPDFCreator  ' Objet PDF
    Dim sPDFName As String
    Dim sPDFPath As String
    sPDFName = strPDFName
 
    Set pdfjob = New PDFCreator.clsPDFCreator    
    With pdfjob
 
        If .cStart("/NoProcessingAtStartup") = False Then
            MsgBox "On ne peut pas lancer PDFCreator.", vbCritical + _
                    vbOKOnly, "PrtPDFCreator"
           Exit Sub
 
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = strDirectory ' ' Répertoire de stockage du Fichier PDF généré
 
        .cOption("AutosaveFilename") = sPDFName
        .cOption("AutosaveFormat") = 0
         .cDefaultPrinter = "PDFCreator"                ' écrase par PDFCreator
         .cClearCache
    End With
 
    'ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
    ActiveSheet.PrintOut Copies:=1, ActivePrinter:="PDFCreator"
 
    Do Until pdfjob.cCountOfPrintjobs = 1
        DoEvents
    Loop
    pdfjob.cPrinterStop = False
 
    Do Until pdfjob.cCountOfPrintjobs = 0
        DoEvents
    Loop
 
    pdfjob.cClose
    Set pdfjob = Nothing
End Sub


Merci pour m’avoir lu et pour se qui répondront merci encore ^^