création de graphiques "dynamiques"

canichon

XLDnaute Nouveau
Bonjour a tous,

J'ai fait un petit programme qui suit des données sur plusieurs sociétés et je voudrais mettre ces données sur des graphiques.
Mon probleme est que je sais créer des graphiques par : Charts.Add mais je ne sais pas les renommer pour pouvoir les "retrouver" et les mettre a jour par la suite.

est ce que quelqu'un pourrait me donner la syntaxe pour renommer un graphique et changer les fameux "Graphique X"

Merci d'avance
 

PMO2

XLDnaute Accro
Re : création de graphiques "dynamiques"

Bonjour,

Une piste avec la démarche suivante

1) Créez un classeur et nommez une de ces feuilles "test"
2) Renseignez la plage C4 : D10 des données qui serviront de source aux tableaux
3) Copiez le code suivant dans un module standard
Code:
'### Constante à adapter ###
Const MA_FEUILLE As String = "test"
'###########################

Sub ConstruitGraphiques()
Dim C As Chart
  '--- Construction d'un 1er graphique ---
Set C = Charts.Add
With C
  .ChartType = xlPie
  .SetSourceData Source:=Sheets(MA_FEUILLE).Range("C4:D10"), PlotBy:=xlColumns
  .Location Where:=xlLocationAsObject, Name:=MA_FEUILLE
End With
  '°°° Ne pas utiliser la variable object C mais le ActiveChart °°°
ActiveChart.Parent.Name = "Camembert" ' adapter par le nom désiré
  '°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
  
  '--- Construction d'un 2ème graphique ---
Set C = Charts.Add
With C
  .ChartType = xlColumnClustered
  .SetSourceData Source:=Sheets(MA_FEUILLE).Range("C4:D10")
  .Location Where:=xlLocationAsObject, Name:=MA_FEUILLE
End With
  '°°° Ne pas utiliser la variable object C mais le ActiveChart °°°
ActiveChart.Parent.Name = "Histogramme" ' adapter par le nom désiré
  '°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
End Sub

Sub LitNomGraphique()
Dim CO As ChartObject
For Each CO In Sheets(MA_FEUILLE).ChartObjects
  CO.Activate
  MsgBox "Le nom du graphique est : ''" & CO.Name & "''"
Next CO
Call Placement
End Sub

Sub Placement(Optional dummy As Byte)
  '--- On fait référence aux graphiques par leur nom ---
Sheets(MA_FEUILLE).ChartObjects("Camembert").Top = 1
Sheets(MA_FEUILLE).ChartObjects("Histogramme").Top = 250
End Sub
4) Lancez la Sub ConstruitGraphiques pour construire 2 tableaux qui sont renommés dans le code
5) Lancez la Sub LitNomGraphique qui affichera le nom personnalisé des graphiques

Cordialement.

PMO
Patrick Morange
 

Discussions similaires


Haut Bas