|
LES COLLECTIONS GRAPHIQUE D'EXCEL
Pour travailler avec un graphique incorporé dans une feuille
de calcul, utilisez le code suivant : FlleTravail.ChartObjects(Index).Chart
où FlleTravail est le nom de votre feuille
de calcul, est Index le n° d'index du graphique
dans cette feuille, la propriété Chart renvoie
l'objet Chart représentant le graphique. La collection est
donc FlleTravail.ChartObjects.
Vous pouvez également faire référence à un objet Chart,
lorsque celui-ci est une feuille graphique, si le graphique est activé grâce
aux propriétés ActiveChart et ActiveSheet.
En fait, dans ce cas, vous utilisez la propriété Chart de
la collection ChartObjects pour renvoyer un objet Chart et
dans le 2ème cas.
Pour ajouter une feuille graphique, utilisez la méthode Add :
Charts.Add, l'exemple suivant ajoute une feuille
graphique se référant aux données de la 1ère feuille
du classeur actif :
Sub NelleFlleGraph()
Dim N As Byte, L As Byte
Dim Graph As Chart
N = 1
With ActiveWorkbook.Worksheets(1)
.Range("A1") = "Valeurs X"
.Range("B1") = "Valeurs Y=X+10"
.Range("C1") = "Valeurs Y=2X"
For L = 2 To 10
.Range("A" & L)
= "X=" & N
.Range("B" & L)
= N + 10
.Range("C" & L)
= N * 2
N = N + 1
Next L
.Range("A:C").Columns.AutoFit
End With
Set Graph = Charts.Add
Graph.SetSourceData Worksheets(1).Range("A1:C10")
End Sub
Pour travailler avec le graphique d'une feuille graphique :
Charts(Index) ou Charts("titre
de l'onglet") ou le nom de la feuille graphique indiqué dans
la fenêtre projetVBA, où Index est
le n° d'index de la feuille et titre
de l'onglet est le texte affiché sur l'onglet de la
feuille graphique. Ici la collection est tout simplement Charts.
Dans ce cas, vous utilisez la méthode Charts(index) pour
renvoyer un objet Chart.
L'exemple suivant ajoute un graphique incorporé dans une feuille de
calcul :
Sub NeauGraph()
Dim N As Byte, L As Byte
Dim Graph As ChartObject
N = 1
With ActiveWorkbook.Worksheets(1)
.Range("A1") = "Valeurs X"
.Range("B1") = "Valeurs Y=X+10"
.Range("C1") = "Valeurs Y=2X"
For L = 2 To 10
.Range("A" & L)
= "X=" & N
.Range("B" & L)
= N + 10
.Range("C" & L)
= N * 2
N = N + 1
Next L
.Range("A:C").Columns.AutoFit
Set Graph = .ChartObjects.Add(0, 140, 400, 250)
End With
Graph.Chart.SetSourceData Worksheets(1).Range("A1:C10")
End Sub
|