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èmes avec impression pilotée par Macro Excel d'un doc Word 2010 avec figures en pdf


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    -
    Inscrit en
    Juillet 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Juillet 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut Problèmes avec impression pilotée par Macro Excel d'un doc Word 2010 avec figures en pdf
    Bonjour,

    Voici le problème.

    J'ai environ 300 docs d'une dizaine de page à imprimer en pdf. J'ai donc fait une macro Excel pour enregistrer les dits fichier en pdf. A l'origine, le principe était le suivant : Ouvrir un fichier, sauvegarder en pdf, fermer le fichier, passer au suivant.

    Pas de problème pour générer un fichier pdf, mais contre, la plupart des courbes n'apparaissaient pas (un carré blanc à la place).

    J'ai donc tenté une autre approche, qui consiste à ouvrir le doc, scroller les pages une à une, en laissant 2s de pause entre les deux, puis sauvegarder en pdf, fermer le doc et recommence, voici le 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
    Sub ouvrirDocWord_Impression()
    'necesite d'activer la reference Microsoft Word xx.x Object Library (dans menu Outils/References)
     
    Dim appWrd As Word.Application
    Dim docWord As Word.Document
    Dim Fichier As String
    Dim NomFichier As String
    Dim Dossier As String
    Dim Intpos As Byte
    Dim nbPages As Integer
    Dim i As Integer
     
    Dossier = ThisWorkbook.Path & "\"
    ChDrive Dossier
    ChDir Dossier
     
     
    Fichier = Dir(Dossier & "*.docx")
     
    Do While Len(Fichier) > 0
     
    i = 1
     
        Set appWrd = CreateObject("Word.Application") 'creation session Word
        appWrd.Visible = True 'pour que word s'ouvre pendant l'operation
        Const wdExportFormatPDF = 17
        Const wdExportOptimizeForPrint = 0
        Const wdExportAllDocument = 0
        Const wdExportDocumentContent = 0
        Const wdExportCreateNoBookmarks = 0
     
        Intpos = InStrRev(Fichier, ".")
        NomFichier = Left(Fichier, Intpos - 1) & ".pdf"
     
        Set docWord = appWrd.Documents.Open(Dossier & Fichier)
        nbPages = appWrd.ActiveWindow.Panes(1).Pages.Count
     
        For i = 1 To nbPages
            appWrd.ActiveWindow.LargeScroll down:=1
            Application.Wait Time + TimeSerial(0, 0, 2)
            i = i + 1
        Next
     
        docWord.ExportAsFixedFormat outputFileName:=Dossier & "/" & NomFichier, exportFormat:=wdExportFormatPDF
     
        docWord.Close 'fermer le document Word
        appWrd.Quit 'fermer la session Word
     
     
        Fichier = Dir()
    Loop
     
     
    End Sub
    C'est une concaténation de plusieurs infos que j'ai glanées sur le net.

    Mon problème, c'est que malgré la temporisation que j'ai mise (2 seconde entre chaque page), ça n'imprime toujours pas toutes les courbes, même s'il y en a beaucoup plus qui s'impriment.

    Est ce que vous savez d'où vient le problème, et comment le résoudre ?

    Merci.


    Jodko.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 071
    Points : 9 850
    Points
    9 850
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    je serai tenté de dire : et si tu augmentes ta temporisation, tu arrives à augmenter le taux d'affichage des courbes, ou tu plafonnes et c'est pour ça que t'as pas mis plus de 2 secondes ?

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, c'est pour PDFCreator mais transposable facilement puisque que depuis 2007 SP2 Office intègre en natif le format pdf : Conversion documents Word (*.doc*) en PDFs via PDFCreator

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    -
    Inscrit en
    Juillet 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Juillet 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    je serai tenté de dire : et si tu augmentes ta temporisation, tu arrives à augmenter le taux d'affichage des courbes, ou tu plafonnes et c'est pour ça que t'as pas mis plus de 2 secondes ?
    Je n'ai pas (encore) testé plus de temporisation, parce que ça me bloque le PC. Je vais réessayer avec 5 s à midi, mais en tout état de cause, j'aimerais par curiosité comprendre d'où vient le problème.


    Jodko.

  5. #5
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 071
    Points : 9 850
    Points
    9 850
    Billets dans le blog
    5
    Par défaut
    Ce ne serait pas Excel/Word qui est plus long à calculer/afficher toutes tes courbes, que VBA ne met pour effectuer la conversion en PDF ?

    ce qui du coup génère les carré blanc là où l'appelé n'a pas eu le temps de finir sa popote quand la conversion est faite ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    -
    Inscrit en
    Juillet 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Juillet 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Je ne sais pas trop. J'ai essayé avec 5s, et j'ai encore des blancs.


    Jodko.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    -
    Inscrit en
    Juillet 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -

    Informations forums :
    Inscription : Juillet 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, c'est pour PDFCreator mais transposable facilement puisque que depuis 2007 SP2 Office intègre en natif le format pdf : Conversion documents Word (*.doc*) en PDFs via PDFCreator

    Bonjour,

    J'ai essayé le fichier (j'ai pdfcreator, donc je n'ai rien modifié).

    La création de la liste fonctionne (j'ai modifé ".doc" en ".docx" puisque ce sont des doc word 2010), mais quand je clique sur Doc2Pdf, je pense qu'il ne se passe rien...

    Une idée ?

    Merci.


    Jodko.

Discussions similaires

  1. problème d'impression d'un document Excel
    Par brahda dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2011, 02h04
  2. Problème avec VB.net et macro excel
    Par chebmo90 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 11/08/2009, 12h55
  3. Piloter une macro/Excel depuis une application VB
    Par pjbou dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/04/2007, 17h01
  4. impression PS par dll excel
    Par wazaa dans le forum MFC
    Réponses: 3
    Dernier message: 27/04/2005, 16h00

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