Option Explicit
Sub CouleursEHJ()
Dim Clr As New Couleur, Rng As Range, KE As Long, KH As Long, KJ As Long
For KE = 1 To 4: For KH = 1 To 4: For KJ = 1 To 4
Clr.EHJ IntpoLin(KE, 1, 250, 4, 750), IntpoLin(KH, 1, -100, 4, 100), IntpoLin(KJ, 1, -100, 4, 100)
With ActiveSheet.Cells(KH + 1, 4 * KE + KJ - 3)
.Value = "XXX"
.Interior.Color = Clr.C
.Font.Color = Clr.CP: End With
Next KJ, KH, KE
End Sub
Function IntpoLin(ByVal X As Double, ByVal X1 As Double, ByVal Y1 As Double, _
ByVal X2 As Double, ByVal Y2 As Double) As Double
IntpoLin = Y1 + (Y2 - Y1) * (X - X1) / (X2 - X1)
End Function