J'ai un peu avancé sur le code, mainteant je dois trouver le moyen de générer ce type de graphique pour les tableaux suivants.
Avez-vous une idée de comment je peux faire ?
Ci-dessous le code :
Sub Macro3()
'
' Macro3 Macro
'
Dim rg As Range, rg1 As Range, rg2 As Range, rg3 As Range, rg4 As Range
Dim rg20 As Range
Dim objChart As ChartObject
Dim ws As Worksheet
Dim sNom As String
Dim Ax As Axis
Set ws = ActiveSheet
Set rg = ws.Range("Y6:JD6")
Set rg1 = ws.Range("Y6:BB6") 'plage contenant les données
Set rg2 = ws.Range("Y7:BB7") 'plage contenant les données
Set rg3 = ws.Range("BC6:CF6") 'plage contenant les données
Set rg4 = ws.Range("BC7:CF7") 'plage contenant les données
Set rg20 = ws.Range("A24:V40") 'plage où placer le graphique
Set objChart = ws.ChartObjects.Add(Left:=rg20.Left, Top:=rg20.Top, Width:=rg20.Width, Height:=rg20.Height)
With objChart.Chart
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("Y5")
.XValues = ActiveSheet.Range("Y6:BB6")
.Values = ActiveSheet.Range("Y7:BB7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(0, 255, 0)
Set Ax = objChart.Chart.Axes(xlCategory)
Ax.MaximumScale = 250
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("BC5")
.XValues = ActiveSheet.Range("BC6:CF6")
.Values = ActiveSheet.Range("BC7:CF7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(0, 0, 255)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("CG5")
.XValues = ActiveSheet.Range("CG6:DJ6")
.Values = ActiveSheet.Range("CG7:DJ7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(255, 255, 0)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("DK5")
.XValues = ActiveSheet.Range("DK6:EN6")
.Values = ActiveSheet.Range("DK7:EN7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(255, 0, 255)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("EO5")
.XValues = ActiveSheet.Range("EO6:FR6")
.Values = ActiveSheet.Range("EO7:FR7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(0, 255, 255)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("FS5")
.XValues = ActiveSheet.Range("FS6:GU6")
.Values = ActiveSheet.Range("FS7:GU7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(255, 204, 102)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("GW5")
.XValues = ActiveSheet.Range("GW6:HZ6")
.Values = ActiveSheet.Range("GW7:HZ7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(0, 128, 0)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Name = ActiveSheet.Range("IA5")
.XValues = ActiveSheet.Range("IA6:JD6")
.Values = ActiveSheet.Range("IA7:JD7")
.MarkerSize = 7
.MarkerStyle = 2
.MarkerForegroundColor = RGB(0, 0, 0)
.MarkerBackgroundColor = RGB(165, 165, 165)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X9")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y9:JD9")
.Border.Color = RGB(0, 204, 255)
.Border.Weight = 1
.Border.LineStyle = xlDash
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X10")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y10:JD10")
.Border.Color = RGB(253, 146, 3)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X11")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y11:JD11")
.Border.Color = RGB(146, 208, 80)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X12")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y12:JD12")
.Border.Color = RGB(146, 208, 80)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X13")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y13:JD13")
.Border.Color = RGB(253, 146, 3)
End With
With .SeriesCollection.NewSeries
.ChartType = xlXYScatterLinesNoMarkers
.Name = ActiveSheet.Range("X14")
.XValues = ActiveSheet.Range("Y6:JD6")
.Values = ActiveSheet.Range("Y14:JD14")
.Border.Color = RGB(253, 0, 0)
.Border.Weight = 1
End With
End With
'
End Sub