Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro graphiques sur plusieures feuilles

N

Nico

Guest
Salut le forum,

J'ai un fichier avec pres de 50 feuilles, et chaque feuille contient une graphique.
Je voudrais donner le meme dimension à chaque graphique et la mettre envoirons à la même hauteur.
Quand j'enregistre une macro j'obtiens le code suivant:

Sub Lay_Out_Chart_2()
'
' Lay_Out_Chart_2 Macro
' Macro recorded 8/24/2004 by Nico
'

'
Sheets("9").Select
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart 2").IncrementLeft -230.25
ActiveSheet.Shapes("Chart 2").IncrementTop 146.25
ActiveSheet.Shapes("Chart 2").ScaleWidth 1.74, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart 2").ScaleWidth 1.06, msoFalse, msoScaleFromTopLeft
Windows("Analysis by account P1-P7.xls").SmallScroll Down:=-6
ActiveWindow.Visible = False
Windows("Analysis by account P1-P7.xls").Activate
Range("J14").Select
End Sub


Comment changer ce code pour qu'il fasse ça sur la graphique de chaque feuille?

Merci!!!
 
Z

Zon

Guest
Salut,

Apparemment tu as la largeur et la hauteur désirées dans la feuille 9, on récupère celles ci puis on l'applique à toutes les feuilles du classeur. Comme tu n'as qu'un graphique son index devrait être 1

Sub Lay_Out_Chart_2()
dim L#,H#,F as worksheet

with Sheets("9").chartobjects(1)
l=.width 'Largeur
H=.height 'Hauteur
end with

for each F in thisworkbook.worksheets
with F.chartobjects(1)
l=.width 'Largeur
H=.height 'Hauteur
end with
next f
end sub

A+++
 
Z

Zon

Guest
Re,

AVec les betises de Mydearfriend sur le T'chat, j'ai oublié d'inverser

Sub Lay_Out_Chart_2()
dim L#,H#,F as worksheet

with Sheets("9").chartobjects(1)
l=.width 'Largeur
h=.height 'Hauteur
'.top renvoie la position par rapoport au haut de la feuille et .Left la position à gauche
end with

for each F in thisworkbook.worksheets
with F.chartobjects(1)
.width=l 'Largeur
.height=h 'Hauteur
end with
next f
end sub



A+++
 
N

Nico

Guest
Salut Zon, saut le forum,

Merci Zon de ton aide!!
Apparement j'e dois avoir un problèmen avec le nom des graphiques, car quand je lance ta macro, j'ai l'erreur suivante:

Method 'ChartObjects' of object '_Worksheet' failed

Quand je fais debug, il va vers la ligne:

With F.ChartObjects(1)


Comment résoudre ce petit bug (je suppose en insérant qqchose pour qu'il le fasse pour toutes les graphiques qui se trouvent dans une feuille, même si je n'ai qu'une graphique par feuille, mais apperemment avec des noms différents...)?

Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…