OVH Cloud OVH Cloud

impression de graphiques

6 réponses
Avatar
lucno
Bonsoir,
Voici ce que j'=E9cris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader =3D ""
.CenterHeader =3D ""
.RightHeader =3D ""
.LeftFooter =3D ""
.CenterFooter =3D ""
.RightFooter =3D ""
.LeftMargin =3D Application.InchesToPoints
(0.78740157480315)
.RightMargin =3D Application.InchesToPoints
(0.78740157480315)
.TopMargin =3D Application.InchesToPoints
(0.984251968503937)
.BottomMargin =3D Application.InchesToPoints
(0.984251968503937)
.HeaderMargin =3D Application.InchesToPoints
(0.511811023622047)
.FooterMargin =3D Application.InchesToPoints
(0.511811023622047)
.ChartSize =3D xlFullPage
.CenterHorizontally =3D False
.CenterVertically =3D False
.Orientation =3D xlLandscape
.Draft =3D False
.PaperSize =3D xlPaperA4
.FirstPageNumber =3D xlAutomatic
.BlackAndWhite =3D False
.Zoom =3D 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=3D1,=20
Collate:=3DTrue

Mais lorsque j'execute la macro, =E0 la place du graphique,=20
j'imprime soit une partie de ma feuille, soit toute la=20
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas =E0 pas, je passe bien sur=20
ces lignes et le graphique 1 est bien s=E9lectionn=E9.

Merci pour votre aide
Luc

6 réponses

Avatar
Ellimac
Bonjour,

Ce code fonctionne parfaitement. A vérifier si ton
graphique s'appelle toujours "Graphique 1", mais je pense
qu'il y aurait plantage !!
Par contre, tu peux enlever le code With si tu n'a pas
modifié la mise en page par défaut.

Camille

-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du graphique,
j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.



Avatar
Merci pour ta réponse, je me suis aperçu que lorsque
j'annule la zone d'impression, 'définir,zone
d'impression, annuler', ce code imprime une page entière(
tous les tableaux et tous les graphiques de la page sur
une feuille A4). Sinon il imprime ce que je vois dans
aperçu avant impression c'est à dire autre chose que le
graphique.
Le code doit être correct car je le génère en utilisant
le code d'une macro que j'enregiste. J'ai vérifié aussi,
le graphique est bien sélectionner et il s'appelle
graphique 1.
Il doit y avoir autre chose, qui n'a rien à voir avec le
code, mais quoi?
merci encore pour ton aide et si tu as une autre idée
n'hézites pas
Luc
-----Message d'origine-----
Bonjour,

Ce code fonctionne parfaitement. A vérifier si ton
graphique s'appelle toujours "Graphique 1", mais je
pense

qu'il y aurait plantage !!
Par contre, tu peux enlever le code With si tu n'a pas
modifié la mise en page par défaut.

Camille

-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du
graphique,


j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.

.





Avatar
Denis Michon
Bonjour ,

Est-ce possible que vous ne parliez pas de la même chose.

La procédure d'Ellimac est faite pour imprimer une feuille graphique.

Est-ce que ton graphe est dans une feuille de calcul ou c'est une feuille graphique ?

Faudrait d'abord vous entendre la dessus !!!

;-)


Salutations!


a écrit dans le message de news:015601c3980a$8fee9b60$
Merci pour ta réponse, je me suis aperçu que lorsque
j'annule la zone d'impression, 'définir,zone
d'impression, annuler', ce code imprime une page entière(
tous les tableaux et tous les graphiques de la page sur
une feuille A4). Sinon il imprime ce que je vois dans
aperçu avant impression c'est à dire autre chose que le
graphique.
Le code doit être correct car je le génère en utilisant
le code d'une macro que j'enregiste. J'ai vérifié aussi,
le graphique est bien sélectionner et il s'appelle
graphique 1.
Il doit y avoir autre chose, qui n'a rien à voir avec le
code, mais quoi?
merci encore pour ton aide et si tu as une autre idée
n'hézites pas
Luc
-----Message d'origine-----
Bonjour,

Ce code fonctionne parfaitement. A vérifier si ton
graphique s'appelle toujours "Graphique 1", mais je
pense

qu'il y aurait plantage !!
Par contre, tu peux enlever le code With si tu n'a pas
modifié la mise en page par défaut.

Camille

-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du
graphique,


j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.

.





Avatar
lucno
Bonjour,
C'est un graphique et pas une feuille graphique.
Je génère ce code en enregistrant une macro, donc c'est
bon!
Là, je cherche toujours et lorsque je veux imprimer des
tableaux qui se trouvent sur la même feuille, ça marche !!!
alors, pourquoi ça ne fonctionne pas avec un graphique ?
Voici le code:
Range("A5:O41").Select
ActiveSheet.PageSetup.PrintArea = "$A$5:$O$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("P5:AH41").Select
ActiveSheet.PageSetup.PrintArea = "$P$5:$AH$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("AI5:BF41").Select
ActiveSheet.PageSetup.PrintArea = "$AI$5:$BF$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("BG5:BV41").Select
ActiveSheet.PageSetup.PrintArea = "$BG$5:$BV$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

-----Message d'origine-----
Bonjour ,

Est-ce possible que vous ne parliez pas de la même chose.

La procédure d'Ellimac est faite pour imprimer une
feuille graphique.


Est-ce que ton graphe est dans une feuille de calcul ou
c'est une feuille graphique ?


Faudrait d'abord vous entendre la dessus !!!

;-)


Salutations!


a écrit dans le
message de news:015601c3980a$8fee9b60$

Merci pour ta réponse, je me suis aperçu que lorsque
j'annule la zone d'impression, 'définir,zone
d'impression, annuler', ce code imprime une page entière(
tous les tableaux et tous les graphiques de la page sur
une feuille A4). Sinon il imprime ce que je vois dans
aperçu avant impression c'est à dire autre chose que le
graphique.
Le code doit être correct car je le génère en utilisant
le code d'une macro que j'enregiste. J'ai vérifié aussi,
le graphique est bien sélectionner et il s'appelle
graphique 1.
Il doit y avoir autre chose, qui n'a rien à voir avec le
code, mais quoi?
merci encore pour ton aide et si tu as une autre idée
n'hézites pas
Luc
-----Message d'origine-----
Bonjour,

Ce code fonctionne parfaitement. A vérifier si ton
graphique s'appelle toujours "Graphique 1", mais je
pense

qu'il y aurait plantage !!
Par contre, tu peux enlever le code With si tu n'a pas
modifié la mise en page par défaut.

Camille

-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du
graphique,


j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.

.





.





Avatar
Denis Michon
Bonjour lucno,

Tu places (centre) ton graphe dans une plage de cellules. et tu utilises quelque chose qui pourrait ressembler à ceci :

Tu définis la grandeur de la plage à imprimer (incluant ton graphe)

ActiveSheet.PageSetup.PrintArea = "$A$5:$O$41"

"$A$5:$O$41" A moins que la dimension de tes cellules soient très petites, c'est une très grande dimension pour obtenir
l'impression de cette plage sur une même feuille !!!

En utilisant la fenêtre de "Aperçu avant impression", tu définis les paramètres d'impression.


Un petit clic sur le bouton imprimer !


et tu supprimes la définition du PrintArea
ActiveSheet.PageSetup.PrintArea = ""


Voilà ! , Ce n'est pas parce qu'il y a un graphe sur une plage de cellules que l'impression de cette plage de cellules
sera modifiée.


Salutations!





"lucno" a écrit dans le message de news:099a01c3986d$a6290830$
Bonjour,
C'est un graphique et pas une feuille graphique.
Je génère ce code en enregistrant une macro, donc c'est
bon!
Là, je cherche toujours et lorsque je veux imprimer des
tableaux qui se trouvent sur la même feuille, ça marche !!!
alors, pourquoi ça ne fonctionne pas avec un graphique ?
Voici le code:
Range("A5:O41").Select
ActiveSheet.PageSetup.PrintArea = "$A$5:$O$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("P5:AH41").Select
ActiveSheet.PageSetup.PrintArea = "$P$5:$AH$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("AI5:BF41").Select
ActiveSheet.PageSetup.PrintArea = "$AI$5:$BF$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Range("BG5:BV41").Select
ActiveSheet.PageSetup.PrintArea = "$BG$5:$BV$41"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

-----Message d'origine-----
Bonjour ,

Est-ce possible que vous ne parliez pas de la même chose.

La procédure d'Ellimac est faite pour imprimer une
feuille graphique.


Est-ce que ton graphe est dans une feuille de calcul ou
c'est une feuille graphique ?


Faudrait d'abord vous entendre la dessus !!!

;-)


Salutations!


a écrit dans le
message de news:015601c3980a$8fee9b60$

Merci pour ta réponse, je me suis aperçu que lorsque
j'annule la zone d'impression, 'définir,zone
d'impression, annuler', ce code imprime une page entière(
tous les tableaux et tous les graphiques de la page sur
une feuille A4). Sinon il imprime ce que je vois dans
aperçu avant impression c'est à dire autre chose que le
graphique.
Le code doit être correct car je le génère en utilisant
le code d'une macro que j'enregiste. J'ai vérifié aussi,
le graphique est bien sélectionner et il s'appelle
graphique 1.
Il doit y avoir autre chose, qui n'a rien à voir avec le
code, mais quoi?
merci encore pour ton aide et si tu as une autre idée
n'hézites pas
Luc
-----Message d'origine-----
Bonjour,

Ce code fonctionne parfaitement. A vérifier si ton
graphique s'appelle toujours "Graphique 1", mais je
pense

qu'il y aurait plantage !!
Par contre, tu peux enlever le code With si tu n'a pas
modifié la mise en page par défaut.

Camille

-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du
graphique,


j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.

.





.





Avatar
En fait, j'ai fini par trouver, il faut pour que cela
fonctionne ouvrir une fenêtre graphique avant chaque
impression. Il suffit de le rajouter dans la macro.
Merci pour l'aide que vous m'avez apportée
-----Message d'origine-----
Bonsoir,
Voici ce que j'écris:
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
With ActiveChart.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints
(0.78740157480315)
.RightMargin = Application.InchesToPoints
(0.78740157480315)
.TopMargin = Application.InchesToPoints
(0.984251968503937)
.BottomMargin = Application.InchesToPoints
(0.984251968503937)
.HeaderMargin = Application.InchesToPoints
(0.511811023622047)
.FooterMargin = Application.InchesToPoints
(0.511811023622047)
.ChartSize = xlFullPage
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.BlackAndWhite = False
.Zoom = 100
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True

Mais lorsque j'execute la macro, à la place du
graphique,

j'imprime soit une partie de ma feuille, soit toute la
feuille, mais en tous cas pas le graphique tout seul !!!
Pourtant lorsque j'execute pas à pas, je passe bien sur
ces lignes et le graphique 1 est bien sélectionné.

Merci pour votre aide
Luc
.