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

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma