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:
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 |
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:
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 |