Re : Les limites de IsNumeric
Bonjour,
Toujours en quête d'un contrôle de saisies le plus performant possible, j'ai rencontré d'autres failles.
Dans ce contrôle de saisies je n'accepte que les valeurs numériques positives, la cellule vide et, selon le cas, la valeur 0.
Donc, tout ce qui est texte ou qui n'a pas de sens sera exclu.
Public Function ControleSaisie(saisie As Range, dilemme As Byte) As Byte
'Magic_Doctor/Hasco
If saisie = "" Then
ControleSaisie = 0 'la cellule vide est autorisée
ElseIf dilemme = 1 And saisie <= 0 Or Not IsNumeric(saisie) Or TypeName(saisie.Value) = "String" Then
ControleSaisie = 1 'cellule avec contenu non numérique ou <= 0 pas autorisée
ElseIf dilemme = 0 And saisie < 0 Or Not IsNumeric(saisie) Or TypeName(saisie.Value) = "String" Then
ControleSaisie = 1 'cellule avec contenu non numérique ou < 0 pas autorisée
Else
ControleSaisie = 0 'tout le reste est autorisé
End If
End Function
Mais maintenant si, par inadvertance (fatigue, soleil, boisson...) je rentre dans une cellule contrôlée :
--6 ---> le chiffre 6 va apparaître (normal : - X - = +) mais avec un agaçant petit logo d'erreur à gauche de la cellule. Comment faire pour que d'emblée --valeur numérique soit considéré comme une donnée erronée.
Idem pour ++6
Maintenant si je rentre uniquement ++ ou --, apparaît un message d'erreur qui, traduit au français, serait :
"Erreur dans la formule introduite..."
Comment faire pour que dans cette autre situation la saisie soit aussi considérée d'emblée comme une erreur ?