VB6-IsNumeric-pb avec décimales!

cs_kate1 Messages postés 23 Date d'inscription mardi 27 janvier 2004 Statut Membre Dernière intervention 17 mars 2004 - 27 janv. 2004 à 14:14
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 27 janv. 2004 à 19:11
Bonjour,

Je suis débutante en programmation VB6 et je suis entrain de concevoir un petit programme mais je me heurte à quelques difficultés.Notamment, sur une de mes feuilles, j'ai mis en place des Textbox accueillant des valeurs numériques
saisies par l'utilisateur qui sont utilisées par la suite dans un calcul. Aussi, afin de vérifier que ces dernières sont bien numériques j'ai écrit une procédure avec isnumeric qui fonctionne parfaitement sauf lorque je tape à l'exécution des nombre avec virgule (il ne reconnait pas le text1.text comme étant un nombre!)...Or, je souhaite que l'utilisateur ait le choix de rentrer à la fois des nombres avec et sans décimale.
Que dois je écrire pour éviter ce problème?
aidez moi!! :shock)
merci d'avance
ps: même quand je défini la textBox.format=nombre avec des décimales ça ne marche pas!
catherine
A voir également:

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 janv. 2004 à 14:37
IsNumeric ne marche qu'avec les "." et non avec les ",", donc remplace les virgules par des points pour définir s'il s'agit d'un nombre ou non.

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
27 janv. 2004 à 19:11
Exact donc si tu n'autorise que les chiffres et les points :
Private Sub Command1_Click()
MsgBox Val(Text1) * 2
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Chr(KeyAscii) <> "." Then KeyAscii = 0
End Sub


Si tu dois imperativement utiliser les chiffres et la virgule :
Private Sub Command1_Click()
Dim resultat As Double
resultat = Replace(Text1, ".", ",")
MsgBox resultat * 2
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Chr(KeyAscii) <> "," Then KeyAscii = 0
End Sub


Voila ++
0
Rejoignez-nous