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 :

Message d'erreur à la conversion .xls vers .pdf


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut Message d'erreur à la conversion .xls vers .pdf
    Bonjour à toutes et à tous...

    Je rencontre un problème lorsque j'effectue la conversion d'une feuille excel 2003 vers PDF. La feuille à convertir contient, entre autres, une image bitmap.
    Lors de la conversion avec PDFCreator, via module vba, l'opération se déroule sans problème, mais le processus ne semble pas vouloir stopper et génère une erreur qui dit:

    "Microsoft Office Excel is waiting for another application to complete an OLE action"

    En français ça donne : " Microsoft Office Excel attend qu'une autre application termine une action OLE"

    Pourriez-vous m'indiquer ce qui pourrait générer cette erreur svp, afin que je puisse la corriger...
    Merci d'avance....

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Ma boule de cristal m'indique que tu as un souci, et qu'un jour, peut-être, tu iras jusqu'à nous montrer un peu de code, voire même, à nous indiquer qu'après avoir fait du pas à pas tu as repéré sur quelle ligne le processus semble s'arrêter.

    Mais je suis vraiment novice en divination.
    Peut-être que je me trompe

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    OK OK...

    Voice le code qui convertit la feuille :

    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
    Sub PDF_convert()
     
    Dim jobPDF As Object
    Dim NomPDF As String
    Dim RepertoirePDF As String
    Dim ClientPDF As String
    Dim CheminPDF As String
    Dim nom As String
     
    Set F1 = Sheets("F_Edit")
    Set F2 = Sheets("detail")
     
    CheminPDF = "C:\WO_MOB_PDF\"
    nom = F1.Range("B2")
     
        'MsgBox "" & nom
     
    NomPDF = "REPORT-" & nom & ".pdf"
        'MsgBox "" & NomPDF
     
    If IsEmpty(ActiveSheet) Then Exit Sub
     
    Set jobPDF = CreateObject("PDFCreator.clsPDFCreator")
    ActiveSheet.Name = "detail"
        'MsgBox "" & ActiveSheet.Name
     
    'With jobPDF
    '.cOption("UseAutosave") = 1
    '.cOption("UseAutoSaveDirectory") = 1
    '.cOption("AutoSaveDirectory") = CheminPDF
    '.cOption("AutoSaveFileName") = NomPDF
    '.cOption("AutoSaveFormat") = 0
     
    'End With
     
    ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
     
    jobPDF.cClose
    Set jobPDF = Nothing
     
    End Sub

    C'est une adaptation d'un code que j'ai trouvé...
    En ce" qui concerne le pas à pas , je n'ai sais pas comment on le pratique... , je suis tout disposé à apprendre...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Regarde ici, Godzestla propose une syntaxe qui fonctionne

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    OK merci, vais tenter avec ce code...et je te fais un "feedback"...

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 89
    Points : 46
    Points
    46
    Par défaut
    J'ai essayé cette solution.... Le problème OLE semble résolu, cependant j'ai du remplacer la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsEmpty(Selection.UsedRange) Then Exit Sub
    par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
    Pour que cela fonctionne correctement...
    Pour le reste tout fonctionne comme prévu...

    Voici mon code final:

    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
    Sub Conv_PDF()
     
    Dim ImpPDF As Object
    Dim NomPDF As String
    Dim RepertoirePDF As String
    Dim ClientPDF As String
    Dim CheminPDF As String
    Dim SheetPDF As String
     
    CheminPDF = "C:\WO_MOB_PDF\"   'Chemin de sauvegarde
    ClientPDF = Sheets("F_Edit").Range("B2").Value  'récupération du nom
    NomPDF = ClientPDF & ".pdf"
    RepertoirePDF = NomPDF
    Sheets(Array("detail")).Select  'sélection de feuille
     
    If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
    Set ImpPDF = CreateObject("PDFCreator.clsPDFCreator")
    With ImpPDF
    If .cStart("/NoProcessingAtStartup") = False Then
    MsgBox "Impossibilité d'initialiser PDFCréator !", vbCritical + vbOKOnly, "PDFCreator"
    Exit Sub
    End If
    .cOption("UseAutosave") = 1
    .cOption("UseAutosaveDirectory") = 1
    .cOption("AutosaveDirectory") = CheminPDF
    .cOption("AutosaveFilename") = RepertoirePDF
    .cOption("AutosaveFormat") = 0
    .cClearCache
    End With
    ActiveWindow.SelectedSheets.PrintOut copies:=1, ActivePrinter:="PDFCreator"
    Do Until ImpPDF.cCountOfPrintjobs = 1
    DoEvents
    Loop
    ImpPDF.cPrinterStop = False
    Do Until ImpPDF.cCountOfPrintjobs = 0
    DoEvents
    Loop
    ImpPDF.cClose
    Set ImpPDF = Nothing
     
    End Sub


    Merci beaucoup pour vos conseil à tous...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Conversion xls vers pdf
    Par m@tix dans le forum Excel
    Réponses: 17
    Dernier message: 28/06/2011, 16h40
  2. Conversion .odt vers .pdf
    Par alaincnes dans le forum Documents
    Réponses: 7
    Dernier message: 19/10/2010, 01h34
  3. Automatiser conversion XLS vers PDF
    Par DevPerl dans le forum Langage
    Réponses: 3
    Dernier message: 13/09/2007, 21h08
  4. [COM] Conversion WORD vers PDF sous PHP sans COM ?
    Par pdtor dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 31/01/2007, 22h27
  5. [VBA-E] XLS vers PDF
    Par Fosko dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/07/2006, 15h53

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