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

VBScript Discussion :

chercher un graphique feuille excel, imprimer en pdf , enregister dans repertoire 2


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut chercher un graphique feuille excel, imprimer en pdf , enregister dans repertoire 2
    Bonjour a tous,

    Je reprends ici la discussion que j'ai commencé plus bas. En fait, j'ai un classeur excel dans lequel plusieurs feuilles sont des graphes (voir imp.pdf en attaché).

    1. je veut aller chercher ces feuilles sur lesquelles sont ces graphiques (il me faut l'adresse non pas du classeur comme fait actuellement dans mon code) mais l'adresse de la feuille qui comporte le graphique.

    2.Les imprimer grâce à une imprimante virtuelle en PDF

    3. Enregistrer les PDF dans une repertoire bien définie.

    la ou j'en suit, j'arrive à créer le PDF, mais il faut recuperer ce PDF dans une variable (pdf) pour faire ensuite une sauvegarde par pdf.SaveAs "repertoirecible.pdf" et je n'arrive pas à faire l'affectation du Doc.PrintOut dans une variable que j'appelle pdf

    Questions:
    Comment recuperer le graphe de la feuille et non le classeur tout entier ?

    Comment faire l'affectation ?

    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
    Dim xlapp, classeur, feuille, Doc, pdf
    
    'J'ouvre Excel
    Set xlapp = CreateObject("Excel.Application")
    
    'Il reste visible
    xlapp.Visible = True
    
    'Je definit ceci
    Set classeur = xlapp.Workbooks.add
    Set feuille = xlapp.ActiveSheet
    
    'J'ouvre Ma feuille xls
    'Normalement  je dois ouvrir prendre le graphe qui est sur la feuille
    'mais ca je sais pas faire
    
    Set Doc = xlApp.WorkBooks.open("C:\Documents and Settings\stagiaire\Bureau\Classeur1.xls")
    
    'Ici on définit l'imprimante qui sera utilisée.
    
    ActivePrinter="PDFCreator"
    
    
    'J'imprime
    
    Doc.PrintOut
    
    
    'je recupére le fichier imprimé dans une variable que j'appelle pdf
    
    'comment le faire ?
    
    'Deplacement du fichier
    
    Doc.SaveAs "C:\Documents and Settings\stagiaire\Bureau\VBS\sauvegarde.xls"    '-- enregistre le nouveau xls dans le nouveau repetoire
    
    'Ce qui devrait être fait si le pdf imprimé est dans la variable pdf
    
    'pdf.SaveAs "C:\Documents and Settings\stagiaire\Bureau\VBS\sauvegarde.xls"    '-- enregistre le nouveau xls dans le nouveau repetoire
    
    
    'Fermeture et Exit de l'application
    Doc.Close
    xlApp.quit

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par bourbe
    ....
    la ou j'en suit, j'arrive à créer le PDF...
    bon et il est créé ou ce pdf ..?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut Petit à Petit l'oiseau fait son nid
    Salut bbil,

    j'ai fais pour commencer cette procédure avec un document word sur la base d'une procedure prise sur le site et la lorsque je la lance avec word ca imprime le pdf et ca me redonne la main et me demande ou enregister.

    Je l'ai donc adapter à excel mais ici dans ce cas ca lance l'impression, ca imprime mais ca ne me redonne pas la main pour me demander ou l'enregister. Je ne peux donc pas te dire ou ce PDF s'en vas. Si c'etait le cas peut etre je suis ton regard en te disant qu'on pourrais aller le copier la bas et l'enregister ou on veut.

    Par contre j'ai resolu un probléme de plus c'est celui du graphe dans le classeur:

    au lieu de Doc.PrintOut, faire Doc.Sheets("Graph1").PrintOut 'Graph1 est le nom de la feuille dans le classeur1 qui est à imprimer

    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
    Dim xlapp, classeur, feuille, Doc, pdf
    
    'J'ouvre Excel
    Set xlapp = CreateObject("Excel.Application")
    
    'Il reste visible
    xlapp.Visible = True
    
    'Je definit ceci
    Set classeur = xlapp.Workbooks.add
    Set feuille = xlapp.ActiveSheet
    
    'J'ouvre Ma feuille xls
    'Normalement  je dois ouvrir prendre le graphe qui est sur la feuille
    'mais ca je sais pas faire
    
    Set Doc = xlApp.WorkBooks.open("C:\Documents and Settings\stagiaire\Bureau\Classeur1.xls")
    
    'Ici on définit l'imprimante qui sera utilisée.
    
    ActivePrinter="PDFCreator"
    
    
    'J'imprime le graphe 
    
    
    Doc.Sheets("Graph1").PrintOut    'Graph1 est le nom de la feuille dans le classeur1 qui est à imprimer
    
    
    'je recupére le fichier imprimé dans une variable que j'appelle pdf
    
    'comment le faire ?
    
    'Deplacement du fichier
    
    Doc.SaveAs "C:\Documents and Settings\stagiaire\Bureau\VBS\sauvegarde.xls"    '-- enregistre le nouveau xls dans le nouveau repetoire
    
    'Ce qui devrait être fait si le pdf imprimé est dans la variable pdf
    
    'pdf.SaveAs "C:\Documents and Settings\stagiaire\Bureau\VBS\sauvegarde.xls"    '-- enregistre le nouveau xls dans le nouveau repetoire
    
    'Fermeture et Exit de l'application
    Doc.Close
    xlApp.quit

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par bourbe
    ..imprime le pdf et ca me redonne la main et me demande ou enregister....
    j'ai pas vu ce code word..? mais intéresse toi à PdfCreator... et à ce qui se passe lorsque tu imprime "manuellement" vers cette imprimante "virtuelle"..

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut
    Le programme Word

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim WordApp, Doc
    Set WordApp = CreateObject("Word.Application")
    
    'Ici on définit l'imprimante qui sera utilisée.
    WordApp.ActivePrinter="PDFCreator"
    Set Doc = WordApp.documents.open("C:\Documents and Settings\stagiaire\Bureau\cite inter.doc")
    
    Doc.PrintOut
    
    Doc.SaveAs "C:\Documents and Settings\stagiaire\Bureau\VBS\nouveau_word.doc"
    
    Doc.Close
    WordApp.Quit
    Manuellement avec pdfcreator, on lance l'impression, elle s'enclenche et ensuite une fenetre s'ouvre pour te demander le nom sous lequel l'enregistrer tu le tape tu clique sur enregistrer ensuite une fenetre windows s'ouvre et te demande le repertoire ou l'enregistrer et clique ok et c'est fini

    j'aimerais donc reprendre tous ca en code vbs

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben .. c'est pas dans le code la sauvegarde (du pdf..) .. le saveAs il ne permet que la sauvegarde du document word ... ton probléme dans ton code semble être la sélection de l'imprimante

    n'as tu pas une erreur la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActivePrinter="PDFCreator"
    ... essai de modifier :par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xApp.ActivePrinter="PDFCreator"

Discussions similaires

  1. [XL-2007] sauvegarde d'une feuille excel sous format pdf
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2011, 19h20
  2. Imprimer une feuille excel vers un fichier .pdf
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/06/2009, 16h14
  3. enregistrer une feuille excel en document pdf
    Par tunizar dans le forum WinDev
    Réponses: 1
    Dernier message: 14/03/2008, 14h12
  4. Réponses: 1
    Dernier message: 15/04/2007, 20h09
  5. Ouvrir une feuille excel et mettre son contenu dans VB6
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 17/01/2006, 09h16

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