Certaines chaines de caractères (comme "00100E86" par exemple") sont considérées comme des numériques (càd que le E est considéré comme le symbole Exposant). Or, dans certains cas, il ne faut pas considérer le "E" comme exposant mais bien comme une lettre, et de ce fait, la chaine de caractère n'est plus numérique, mais bien alphanumérique. La fonction retourne True si la chaine est exclusivement composée de chiffres, tous les autres caractères étant exclus (boucle sur les codes ascii 32 à 254).
Source / Exemple :
Function WSIsNumeric(Value As Variant) As Boolean
Dim Compteur As Byte
Select Case IsNumeric(Value)
Case True
WSIsNumeric = True
For Compteur = 32 To 254
Select Case Compteur
Case 48 To 57 '0 à 9
Case Else
Select Case InStr(1, Value, Chr$(Compteur))
Case 0
Case Else
WSIsNumeric = False
Exit Function
End Select
End Select
Next
Case Else
WSIsNumeric = False
Exit Function
End Select
End Function
Conclusion :
La fonction IsNumeric est surtout utilisable dans VBA (Access, Excel...)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.