Bonjour,
Voici mon problème. Je créé en VBA des graphiques.
Vu le nombre que j'ai à faire, je fait une fonction par graphique.
La où je bloque, c'est que j'aimerais nommer ces graphiques afin d'avoir plus de souplesse car graph1, graph2, ça ne peut aller qu'un temps. Et il faut se poser la question suivant l'ordre de création des graphiques (ordre d'appel des fonctions) qui deviens fixe.
Pour le graphique en lui même, je pense y être arrivé avec :
Par contre, je cherche à placer ces graphiques. J'ai trouver à le faire avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveChart.Name = "Repartition"
Là ou je bloque, c'est que j'aimerais changer ChartObjects(1) en quelque chose de plus parlant. Mais l'objet Chart que je nome Repartition semble différent de l'objet ChartObjects que je manipule pour placer le graph.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Set Grph = Sheets("Stats").ChartObjects(1) Set Emplacement = Range("A3:J20") With Grph .Left = Emplacement.Left .Top = Emplacement.Top .Height = Emplacement.Height .Width = Emplacement.Width End With
Je m'y prends peut être mal.
Je met quand même ici le code complet de la partie de création du graph :
Par avance, merci
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 Range("AA1:AD10").Select Charts.Add ActiveChart.Name = "Repartition" ActiveChart.ChartType = xl3DColumnClustered ActiveChart.SetSourceData Source:=Sheets("Stats").Range("AA1:AD10"), PlotBy _ :=xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="Stats" With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = _ "Répartition des incidents" .Axes(xlCategory).HasTitle = False .Axes(xlSeries).HasTitle = False .Axes(xlValue).HasTitle = False .HasDataTable = True .DataTable.ShowLegendKey = True .WallsAndGridlines2D = False .HasLegend = False .ChartType = xl3DColumnClustered .Axes(xlCategory).HasMajorGridlines = False .Axes(xlCategory).HasMinorGridlines = False .Axes(xlSeries).HasMajorGridlines = False .Axes(xlSeries).HasMinorGridlines = False .Axes(xlValue).HasMajorGridlines = True .Axes(xlValue).HasMinorGridlines = False .RightAngleAxes = True .HeightPercent = 100 .AutoScaling = True .Elevation = 29 .Perspective = 30 .Rotation = 44 End With Set Grph = Sheets("Stats").ChartObjects(1) Set Emplacement = Range("A3:J20") With Grph .Left = Emplacement.Left .Top = Emplacement.Top .Height = Emplacement.Height .Width = Emplacement.Width End With
Partager