Function gw_nbsi(plage As Range, signe As String, valeur As Range) As Long
Application.Volatile
gw_nbsi = 0
Dim i As Long, gwcel As Range
For Each gwcel In Range(plage.Address)
Select Case signe
Case "="
If gwcel = valeur Then gw_nbsi = gw_nbsi + 1
Case "<>", "><"
If gwcel <> valeur Then gw_nbsi = gw_nbsi + 1
Case ">"
If gwcel > valeur Then gw_nbsi = gw_nbsi + 1
Case "<"
If gwcel < valeur Then gw_nbsi = gw_nbsi + 1
Case ">=", "=>"
If gwcel >= valeur Then gw_nbsi = gw_nbsi + 1
Case "<=", "=<"
If gwcel <= valeur Then gw_nbsi = gw_nbsi + 1
Case Else
MsgBox "Le signe n'est pas correct"
Exit Function
End Select
Next
End Function