Comparaison TextBox et Valeur Numérique

Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 - 31 oct. 2009 à 18:27
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 1 nov. 2009 à 15:14
Bonsoir,

Je me rend compte que j'ai un soucis.
J'ai Deux champ texte, qui en fait sont des nombres, l'un est le début et l'autre la fin.
Je désire contrôler leurs valeurs grâce au petit code suivant :

(monParam est le nombre de Port présent égal à 24)

If Not IsNumeric(Debut.Text) Or Not IsNumeric(Fin.Text) Then
    MsgBox "Valeure numérique obligatoire"
ElseIf Debut >= Fin Then
    MsgBox "Veuillez saisir une plage de port valide avec Debut < Fin"
    Debut = ""
    Fin = ""
ElseIf Debut > monParam Or Fin > monParam Then
    MsgBox "Veuillez saisir une plage de port valide"
    Debut = ""
    Fin = ""
ElseIf Debut < 1 Or Fin < 1 Then
    MsgBox "Il faut au minium 1 port dans la plage"
    Debut = ""
    Fin = ""


Je me rend compte que cela ne fonctionne pas bien.
Si je rentre les valeurs 2 et 5, ca ne fonctionne pas : "Veuillez saisir une plage de port valide"

Tandis que si je rentre les valeures 02 et 05 ça passe.

Je pense que le problème vient de fait de comparer une valeur string à un integer mais je vois pas comment faire autrement.

Merci de votre aide

7 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
31 oct. 2009 à 18:55
Bonjour,

et si tu nous parlais du type de monparam ? (important)

Car (par exemple) : "2" est plus grand que "11", alors que "02" est plus petit que "11" et que 2 est plus petit que 11
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
31 oct. 2009 à 18:58
Et pourquoi laisser l'utilisateur saisir un port dans une textbox ?
Il serait plus astucieux de lui offrir une liste surlaquelle cliquer.
Intéresse-toi à la fonction EnumPorts de la librairie "winspool.drv" de l'Api de Windows.
0
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
1 nov. 2009 à 13:16
Salut,

La variable monParam est un variant elle est récupérée depuis une autre form.

Comme ceci :

http://www.vbfrance.com/codes/PASSER-PLUS-PARAMETRE-FORM_2409.aspx


Merci
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
1 nov. 2009 à 13:52
1) ce que contient ta textbox est de type string.
2) ce n'est pas la meilleure idées, que de typer ta variable en variant
3) type-la en numérique (integer, par exemple) et compare-la à la valeur numérique (utilise Vazl) de ta textbox .
(C'est là le B.A.BA ... : comparer ce qui est comparable)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
1 nov. 2009 à 13:53
Pardon : Val, bien sûr, et non Vazl
0
Lokomass Messages postés 191 Date d'inscription jeudi 7 janvier 2010 Statut Membre Dernière intervention 15 mai 2013 1
1 nov. 2009 à 14:30
Merci de ra réponse. Je suis débutant et je sais pas comment me servir de val pour une textbox.

Peut tu me dire comme récupérer la valeur numérique d' une textbox
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
1 nov. 2009 à 15:14
Ce que contient une textbox ? ===>> text1.text (si elle s'appoelle text1) (et c'"est de type Strinbg)
La valeur numérique d'un "contenu" . Val(Contenu)
PS : je déplore d'avoir eu à répondre à cela : ça figure parmi les vraiment toutes premières notions de base que j'ai apprises (seul, avec mon aide en ligne) dans ma toute première heure d'apprentissage de VB !
Une question : as-tui installé ton aide en ligne (MSDN) ?
0
Rejoignez-nous