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!
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.
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
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.
24 nov. 2013 à 17:34
Est ce que c'est ceci " Microsoft.VisualBasic" que je dois retirer de l'espace de noms importés?
merci d'avance de l'importance que vous accordiez à ma préoccupation.
24 nov. 2013 à 17:43
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
24 nov. 2013 à 17:45
Modifié par strafor le 24/11/2013 à 19:17
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
24 nov. 2013 à 19:25
Double.TryParse(...)
Renseignes-toi dessus (touche F1)