L
Laurent
Guest
Bonjour à tous,
Je tente d'utiliser une TextBox pour récupérer un int, que je voudrais évaluer à chaque changement.
J'utilise donc une instruction du style
taxiID = CInt(TextBox1.Value)
qui marche, mais qui génère une erreur (incompatibilité de type) si on écrit n'importe quoi dans le champ. Or j'aimerais bien pouvoir me tromper d'un caractère sans tout de suite afficher un message d'erreur.
Si je tente un
If TypeName(TextBox1.Value) = 'Integer' Then ...
Ca ne marche pas, ce test est toujours false même si mon expression est numérique. Et si je tente un
If TypeName(CInt(TextBox1.Value)) = 'Integer' Then
Ca plante bien sur, puisque je tente la conversion avant d'avoir testé.
Existe-t-il un équivalent de try...catch comme en C, ou un moyen de tester si une expression est numérique sans risquer de planter?
Merci beaucoup à ceux qui voudront bien s'intéresser à mon problème.
Je tente d'utiliser une TextBox pour récupérer un int, que je voudrais évaluer à chaque changement.
J'utilise donc une instruction du style
taxiID = CInt(TextBox1.Value)
qui marche, mais qui génère une erreur (incompatibilité de type) si on écrit n'importe quoi dans le champ. Or j'aimerais bien pouvoir me tromper d'un caractère sans tout de suite afficher un message d'erreur.
Si je tente un
If TypeName(TextBox1.Value) = 'Integer' Then ...
Ca ne marche pas, ce test est toujours false même si mon expression est numérique. Et si je tente un
If TypeName(CInt(TextBox1.Value)) = 'Integer' Then
Ca plante bien sur, puisque je tente la conversion avant d'avoir testé.
Existe-t-il un équivalent de try...catch comme en C, ou un moyen de tester si une expression est numérique sans risquer de planter?
Merci beaucoup à ceux qui voudront bien s'intéresser à mon problème.
Private Sub TextBox1_Change()
Dim taxiID As Integer
If TypeName(CInt(TextBox1.Value)) = 'Integer' Then
taxiID = CInt(TextBox1.Value)
(...)
End If
End Sub