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 38 39
| Sub Tracer()
Dim Lastlig As Long, i As Long, Klr As Long
Dim mX As Double, mY As Double
Dim PlageX As Range, PlageY As Range
Dim Ch As ChartObject
Application.ScreenUpdating = False
'Definition des plages de cellules (ici X en B2:Bxx et Y en C2:Cxx de Feuil3)
With Worksheets("Feuil3") ' à adapter
Lastlig = .Cells(.Rows.Count, "A").End(xlUp).Row
Set Ch = .ChartObjects.Add(200, 100, 400, 270)
Set PlageX = .Range("B2:B" & Lastlig)
Set PlageY = .Range("C2:C" & Lastlig)
End With
'Medianes de X et Y
mX = Application.WorksheetFunction.Median(PlageX)
mY = Application.WorksheetFunction.Median(PlageY)
'Traçage graphique
With Ch.Chart
.ChartType = xlXYScatter
.HasLegend = False
With .SeriesCollection.NewSeries
.XValues = PlageX
.Values = PlageY
For i = 1 To Lastlig - 1
'Définition de la couleur en fonction du quadrant
Klr = IIf(PlageX(i) > mX, IIf(PlageY(i) > mY, RGB(0, 0, 255), RGB(255, 0, 0)), IIf(PlageY(i) > mY, RGB(0, 255, 0), RGB(255, 255, 0)))
.Points(i).Format.Fill.ForeColor.RGB = Klr
Next i
End With
End With
Set PlageX = Nothing
Set PlageY = Nothing
Set Ch = Nothing
End Sub |
Partager