IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

problème de pdf


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Points : 4
    Points
    4
    Par défaut problème de pdf
    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 ^^

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Essayez avec votre code modifié (voir /// modif pmo)

    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
            End If   '/// modif pmo
     
            .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
    Cordialement.

    PMO

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci de m'avoir répondue.
    J'ai essayer la modification que vous m'avez conseillé.
    Mais le résultat est le même, une fois sur deux j'ai toujours cet erreur.

    Le problème persiste donc

    Autre information : je fait aussi une boucle avec cette fonction, cela marche très bien. Mais pareil quand je lance deux fois d'affiler ca fait la même erreur...
    Et quand il y a une erreur quelconque dans le programme la fonction marche très bien après.

Discussions similaires

  1. Problème génération PDF
    Par caneman dans le forum Documents
    Réponses: 1
    Dernier message: 09/10/2007, 10h42
  2. problème export pdf
    Par Xever dans le forum Jasper
    Réponses: 1
    Dernier message: 23/10/2006, 13h53
  3. problème avec pdf creator version 0.9
    Par poyoland dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 28/06/2006, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo