Controler si une chaine est bien un entier ou un chiffre à virgule

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 8 févr. 2005 à 19:05
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 9 févr. 2005 à 00:27
Bonjour,

Désolé de poser cette question de débutant. J'aurais pensé trouver la réponse sur le site mais je n'ai rien trouvé.
Je voudrais simplement tester si une chaînede caractères contient bien un entier ou un décimal. La chaine correspond à un prix, 5 serait valide, 5,5 également, 5,5,6 ne le serait pas...
Je pensais qu'il existait une fonction de type isdate() pour les valeurs numériques mais je ne trouve pas. J'avais dans l'idée de vérifier si le contenu correspondait bien a des chiffres et si il n'y avait pas 2 fois une virgule dans la chaine mais je me dis qu'il doit y avoir plus simple, non??

merci d'avance

3 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
8 févr. 2005 à 19:40
Il y a déjà eu des sujets idem dans le forum. Ca m'étonne que tu n'aies pas trouvé.
Les solutions sont diverses et variées, perso, en général, j'utilise la simple fonction :

If IsNumeric(TaChaine) then
'c'est du numérique
else
'c'en est pas
end if

A condition qu'il n'y ait pas de séparateur de milliers dans TaChaine.

Cordialement, CanisLupus
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
8 févr. 2005 à 20:01
Merci

C'est exactement ce que je cherchais. En plus, je l'avais déjà utilisé mais je n'arrivais pas à me souvenir du nom. J'ai cherché avec entier, numérique et controle chaine, j'aurais du effectuer une recherche plus large...

Merci encore
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 févr. 2005 à 00:27
marche dans tous les cas:

Private Function IsNum(s As String) As Boolean
Dim x As Single
On Error Resume Next
x = s If Err 0 Then IsNum True
End Function

pour l'utiliser:
If IsNum(Text1.Text) Then MsgBox "OUI c'est numérique" Else MsgBox "NON c'est pas"

Daniel
0
Rejoignez-nous