positionner des graphiques en vba

G

gueridon

Guest
Bonjour à tous,

j'ai une macro qui me fait des graphiques en boucle, en les insérant en tant qu'objet sur ma feuille de calcul.
Le problème, c'est qu'ils sont superposés. Je souhaiterais que ma macro les positionne les uns en dessous des autres.
Comment faire ?
Merci d'avance

:)
 
A

albert

Guest
bonjour gueridon, bonjour forum,

si tu as un nombre constant de graphes, tu peux utiliser ActiveSheet.Shapes(1).IncrementLeft ()
et ).IncrementTop ()

j'envoie une prtie de code que j'utilise.

j'ai aussi un code pour un nombre variable de graphes, mais il faut que je fasse des recherches. Si tu en as besoin, rappelle

'--------placement des graphes---------
u = ActiveSheet.ChartObjects.Count
For n = 1 To u

'--gauche----------
ActiveSheet.Shapes(1).IncrementLeft (-100) 'placement à gauche
ActiveSheet.Shapes(1).IncrementTop (-80)
ActiveSheet.Shapes(2).IncrementLeft (-100) 'placement à gauche
ActiveSheet.Shapes(2).IncrementTop (5)
'-----droite----------------------
ActiveSheet.Shapes(3).IncrementLeft (15) 'placement à droite 1

ActiveSheet.Shapes(3).IncrementTop (-80)

ActiveSheet.Shapes(4).IncrementLeft (15) 'placement à droite 2

ActiveSheet.Shapes(4).IncrementTop (5)
Next
 
A

albert

Guest
voilà, j'ai retrouvé le code pour le décalage des graphes en boucle :

Set graphe = Worksheets("Feuil1").ChartObjects.Add(300 + Decalage, 1 + Decalage, 400, 220)
'décale à gauche 'décale vers le bas

With graphe.Chart
.SetSourceData Worksheets(i).Range("J14", Range("J14").End(xlDown))
.ChartType = xlXYScatterSmoothNoMarkers
.ChartArea.Interior.ColorIndex = 34
.PlotArea.Interior.ColorIndex = 8
.PlotArea.Width = 500
.PlotArea.Height = 500
.SeriesCollection.Add Plage, xlColumns, True, True
End With
Decalage = Decalage + 30 'modifie l'écart entre graphes
Next i

il te suffit de faire varier les paramètres

albert
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2