Bonjour,
je voudrai savoir si je peux ajouter a mon code vba suivant une instruction qui attribue a chaque serie un label qui est le nom de la serie ( S01-S04). je sais que cela peut se faire de maniere manuelle, mais lorsque 'on a plus de 50 séries cela devient compliquer...
le jeu de donnée est simple, mais l'idée est de pouvoir tester sur ce cas
ordre S01 S02 S03 S04
JAN 3 8 7 8
FEB 4 9 4 3
MAR 8 5 2 2
le code suivant effectue une série de changement sur chaque série. l'idée est d'y inclure le label de la cellue B1 a D1( S01 à S04)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Sub seriesw()
Dim objSeries As Series
With ActiveChart
For Each objSeries In .SeriesCollection
With objSeries.Format.Line
.Transparency = 0
.Weight = 0.75
.ForeColor.RGB = 0
End With
Next
End With
End Sub |
Un autre code exisite, mais il ne fonctione pas pourtant il m'a l'air logique et correcte. Notez que je selection le label
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub AddDataLabels()
Dim seSales As Series
Dim pts As Points
Dim pt As Point
Dim rngLabels As Range
Dim iPointIndex As Integer
Set rngLabels = Range("B1:D1")
Set seSales = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
seSales.HasDataLabels = True
Set pts = seSales.Points
For Each pt In pts
iPointIndex = iPointIndex + 1
pt.DataLabel.Text = rngLabels.Cells(iPointIndex).Text
pt.DataLabel.Font.Bold = True
pt.DataLabel.Position = xlLabelPositionAbove
Next pt
End Sub |
le code ci dessus, s'execute mais il ne fait rien...
Merci
SASKAP
Partager