1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Option Explicit
Sub Graphique()
Dim Grf As ChartObject
Dim Sh As Worksheet
Dim LastLig As Long
Application.ScreenUpdating = False
Set Sh = Worksheets("Feuil1")
With Sh
'On supprime tous les graphiques
For Each Grf In Sh.ChartObjects
Grf.Delete
Next Grf
LastLig = .Range("D" & .Rows.Count).End(xlUp).Row
'On crée nos graphiques
Set Grf = .ChartObjects.Add(620, 30, 500, 200)
End With
Set Sh = Nothing
Grf.Chart.ChartType = xlLineMarkers
TraceSerie Grf.Chart, 10, LastLig 'colonne 10 J
TraceSerie Grf.Chart, 12, LastLig 'colonne 12 L
TraceSerie Grf.Chart, 17, LastLig 'colonne 17 Q
'on peut ajouter tant de colonnes...
Set Grf = Nothing
End Sub
Private Sub TraceSerie(ByVal Ch As Chart, ByVal Col As Integer, ByVal N As Long)
With Ch.SeriesCollection.NewSeries
.Name = Ch.Parent.Parent.Cells(1, Col)
.XValues = Ch.Parent.Parent.Range("D2:D" & N)
.Values = Ch.Parent.Parent.Cells(2, Col).Resize(N - 1)
End With
End Sub |
Partager