|
LES SÉRIES DE DONNÉES D'UN GRAPHIQUE D'EXCEL
L'ensemble des séries de données d'un graphique constitue
une collection, on atteint cette collection en utilisant la méthode
SeriesCollections de l'obget Chart. Pour ne renvoyer qu'une seule série,
utilisez la méthode Chart.SeriesCollections(index) où index
est le numéro d'index de la série dans la collection.
Pour ajouter une série de données, utilisez la méthode
Add de la collection. L'exemple suivant crée 2 séries de
données, puis crée un graphique sur la 1ère série.
En lançant ensuite la procédure , vous ajouter une 2ième
série.
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
With Graph.Chart
.SetSourceData Worksheets(1).Range("A1:B10")
.ChartArea.Border.LineStyle = xlDashDotDot
.ChartArea.Border.Weight = xlMedium
.HasTitle = True
.ChartTitle.Text = "Graphique d'essai"
.ChartTitle.Characters(0, 9).Font.Bold = True
.ChartType = xlLine
With .Legend
.Font.Bold = True
.Font.Italic = True
.Position = xlLegendPositionCorner
.Top = 10
.Height = 20
End With
With .PlotArea
.Interior.ColorIndex = 2
.Left = 0
.Top = 30
.Width = Graph.Chart.ChartArea.Width
.Height = Graph.Chart.ChartArea.Height
- 40
End With
End With
End Sub
Sub AjoutSerie()
Dim Graph As Chart
With ActiveWorkbook.Worksheets(1)
Set Graph = .ChartObjects(1).Chart
Graph.SeriesCollection.Add .Range("C1:C10")
End With
End Sub
Vous pouvez également utiliser la méthode NewSeries comme
dans l'exemple suivant pour ajouter une série :
Sub AjoutSerie2()
Dim Graph As Chart
Dim NouvSerie As Series
With ActiveWorkbook.Worksheets(1)
Set Graph = .ChartObjects(1).Chart
Set NouvSerie = Graph.SeriesCollection.NewSeries
NouvSerie.Values = .Range("C2:C10")
NouvSerie.Name = "=" & .Name & "!R1C3"
End With
End Sub
Pour supprimer une série, utilisez la propriété Delete.
Sub SupprSerie()
Dim Graph As Chart
With ActiveWorkbook.Worksheets(1)
Set Graph = .ChartObjects(1).Chart
Graph.SeriesCollection(2).Delete
End With
End Sub
Avec les propriétés et les méthodes de l'objet Series,
vous pouvez modifiez la série de données, tout comme dans
les boîte de dialogue Propriétés de la série
et Options du graphique. Je ne vous donne ici que les quelques propriétés
et méthodes les plus souvent utilisées.
| Propriétés |
| AxisGroup |
xlPrimary ou xlSecondary |
indique si la série est
tracée avec l'axe principal ou secondaire |
| Border |
.LineStyle
.Color
.ColorIndex
.Weight |
renvoie ou définit la
bordure, vous pouvez modifier le style, la couleur et l'épaisseur. |
| ChartType |
voir liste des constantes dans l'aide |
renvoie ou définit le
type de graphique |
| Fill |
renvoie un objet FillFormat
représentant la mise en forme du remplissage. Avec les propriétés
et méthodes de cet objet vous pouvez avoir un remplissage
uniforme, dégradé, avec texture, avec motif, avec
image ou semi-transparent. Voir l'aide pour toutes ces possibilités |
| Interior |
.Color
.ColorIndex
.Pattern
.PatternColor
.PatternColorIndex
.InvertIfNegative |
Pour modifier la couleur du fond,
le motif et la couleur du motif du fond, ou pour inverser le motif
si la valeur est négative. |
| LeaderLines |
renvoie un objet qui représente
les lignes d'étiquettes de la série. Vous pouvez modifier
la couleur, la taille et le style de ces lignes. |
MarkerBackgroundColor
MarkerBackgroundColorIndex
MarkerForegroundColorIndex
MarkerForegroundColor
MarkerStyle
MarkerSize |
renvoie ou modifie la couleur
de 1er plan et d'arrière plan, le style de trait, la taille
des symboles de la série. |
| Name |
renvoie ou définit
le nom de la série, si vous désirez qu'elle reflète
le contenu d'une cellule, attribuez lui la valeur : "=" & Flle.Name & "!R" & L & "C" & Col.
Où Flle est le nom de la
feuille contenant la cellule à laquelle vous voulez vous
référer, L est le
numéro de ligne de cette cellule et Col son
numéro de colonne. |
| PlotOrder |
Renvoie ou définit
l'ordre de traçage de la série. |
| Smooth |
True si le lissage des courbes
est activée |
| Values |
renvoie ou définit
la plage source des données |
| XValues |
renvoie ou définit
la plage source des valeurs X |
| Méthodes |
| ApplyDataLabels(Type, LegendKey, AutoText, HasLeaderLines) |
Applique des étiquettes
de données à la série. Voir les méthodes
des graphiques. |
| DataLabels |
renvoie un objet représentant
une ou toutes les étiquettes de données. Vous pouvez
alors modifier leurs formats grâce à ces propriétés
et méthodes. Voir l'aide. |
| Points |
renvoie un objet représentant
un ou tous les points de la série. Vous pouvez alors modifier
leurs formats grâce à ces propriétés
et méthodes. Voir l'aide. |
| Trendlines |
renvoie un objet représentant
une ou toutes les courbes de tendances de la série. Vous
pouvez alors modifier leurs formats grâce à ces propriétés
et méthodes. Voir l'aide. |
En réutilisant le graphique créé avec le code ci-dessus,
lancez le code suivant pour modifier une série.
Sub ModifSerie()
With ActiveWorkbook.Worksheets(1).ChartObjects(1).Chart.SeriesCollection(1)
.Border.Color = RGB(0, 0, 255)
.MarkerStyle = xlMarkerStyleCircle
.MarkerSize = 20
.MarkerBackgroundColor = RGB(0, 255,
0)
.MarkerForegroundColor = RGB(255,
0, 0)
With .Points(2)
.MarkerStyle
= xlMarkerStyleDiamond
.MarkerForegroundColor
= RGB(0, 255, 0)
.MarkerBackgroundColor
= RGB(255, 0, 0)
End With
.AxisGroup = xlSecondary
End With
End Sub
|