Textbox acceptant uniquement des nombres [Résolu]

Messages postés
35
Date d'inscription
dimanche 3 novembre 2013
Dernière intervention
27 mai 2014
- - Dernière réponse : PapyNormand
Messages postés
27
Date d'inscription
samedi 7 août 2010
Dernière intervention
16 janvier 2014
- 25 nov. 2013 à 21:58
Bonjour,

J'utilise Visual Studio 2010 et j'ai un TextBox1 sur une boite de dialog.
Je voudrais que ce TextBox1 accepte uniquement des nombres.
Si une valeur autre q'un nombre est saisie dans le TextBox1 je voudrais qu'un mesage d'érreur s'affiche comme suit:

MsgBox("Format de nombre invalide").

J'ai éssayé avec le code suivant:
If VarType(TextBox1.Text) = VariantType.Currency Then
MsgBox("format valide")
Else
'Méssage d'érreur
MsgBox("format de nombre invalide")
End If

Mais le méssage d'érreur s'affiche même lorsque je saisie du text ou un nombre dans le TexBox1.

Si quelqu'un peut m'aider ça m'aiderait à avancer.
Merci d'avance à vous!
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14319
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour,

Retires l'import automatique de l'espace de nom Microsoft.VisualBasic (propriétés du projet -> Références)
MsgBox -> MessageBox.Show

Regardes aussi ma signature.

Concernant le test de validité des nombres : Double.TryParse par exemple, fonctionne avec tout les types de bases (Integer, Byte, ...)
strafor
Messages postés
35
Date d'inscription
dimanche 3 novembre 2013
Dernière intervention
27 mai 2014
-
Merci NHenry
j'ai également essayé ceci qui marche parfaitement.

If Not IsNumeric(TextBox7.Text) Then
MsgBox("format de nombre invalide")
Else
MsgBox("format valide")
End If
NHenry
Messages postés
14319
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 décembre 2018
-
Oui, C'est bien "Microsoft.VisualBasic", IsNumeric est une des fonctions qui ne sont plus conseillées, car trop rigide et héritées de VB6, utilises plutôt TryParse qui est largement plus souple.
strafor
Messages postés
35
Date d'inscription
dimanche 3 novembre 2013
Dernière intervention
27 mai 2014
-
Merci beaucoup pour les conseils NHenry
j'ai retiré Microsoft.VisualBasic de l'espace de noms importés et j'ai remplacé MsgBox par MessageBox.Show

Maintenant est ce que c'est ce que je dois écrire pour le test de validité:
If VarType(TextBox1.Text) = VariantType.Double.TryParse Then
MessageBox.Show("format valide")
Else
'Méssage d'érreur
MessageBox.Show("format de nombre invalide")
End If
NHenry
Messages postés
14319
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 décembre 2018
-
Non
Double.TryParse(...)
Renseignes-toi dessus (touche F1)
strafor
Messages postés
35
Date d'inscription
dimanche 3 novembre 2013
Dernière intervention
27 mai 2014
-
Bonsoir NHenry
Grace à vos conseils j'ai pu trouver une solution à ma préoccupation. j'ai éssayé avec la méthode Double.TryParse qui marche parfaitement. Voici le code final que j'obtiens:

Dim value as Double
If Double.TryParse(TextBox1.Text , Value) then
MessageBox.Show("format valide")
Else
MessageBox.Show("format de nombre invalide")
End if

Merci infiniment pour vos conseils et merci égalment à tous les membres du forum.
Commenter la réponse de NHenry
Messages postés
27
Date d'inscription
samedi 7 août 2010
Dernière intervention
16 janvier 2014
0
Merci
Bonjour ,
Au lieu d'une TextBox , pourquoi ne pas utiliser une MaskedTextBox ?
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.maskedtextbox(v=vs.110).aspx
le format à utiliser peut être defini par la propriété Mask
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.maskedtextbox.mask(v=vs.110).aspx
Attention , le masque doit respecter la syntaxe américaine ( . devant la partie décimale et , pour séparer les milliers,millions,...)
Bonne journée
Commenter la réponse de PapyNormand

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.