Dans ce cas il faut utiliser le VBA, voyez cette macro dans le code de la feuille :C'est une solution que je connais, mais je souhaite passer sans Forme conditionnelle
Private Sub Worksheet_Change(ByVal Target As Range)
Dim borne1, borne2, plage As Range, mini, maxi, c As Range
borne1 = [C4]
borne2 = [D4]
Set plage = Range("F5:F" & Rows.Count)
Application.ScreenUpdating = False
plage.Interior.ColorIndex = xlNone 'RAZ
If Not IsNumeric(CStr(borne1)) Or Not IsNumeric(CStr(borne2)) Then Exit Sub
mini = Application.Min(borne1, borne2)
maxi = Application.Max(borne1, borne2)
On Error Resume Next 'si aucune SpecialCell
For Each c In plage.SpecialCells(xlCellTypeConstants, 1) 'constantes numériques
c.Interior.Color = IIf(c >= mini And c <= maxi, vbGreen, vbRed)
Next
End Sub
'---------------------------------------------------------------
'Couleur du texte en cellule dont la formule appelle la fonction
'Exemple: ="Bonjour" & CouleurTexte(255;0;0) -> texte en rouge
'---------------------------------------------------------------
Function CouleurTexte(ByVal R As Integer, ByVal G As Integer, ByVal B As Integer)
Application.Caller.Font.Color = RGB(R, G, B)
End Function
Je souhaiterai utiliser la fonction si, et pas la forme conditionnelle.