Savoir si la valeur d'une textbox est entre 2 valeurs

Résolu
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 - 28 nov. 2011 à 00:20
 Utilisateur anonyme - 30 nov. 2011 à 12:23
Bonjour, je voudrais faire une sorte de mot de passe avec des chiffres; voici mon code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        if textbox1.text >= 1175 and <= 4686 then
msgbox("oui")
else
msgbox("non")
    End Sub

j'ai aussi essayé
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        if textbox1.text >= 1175 <= 4686 then
msgbox("oui")
else
msgbox("non")
    End Sub

mais rien ne se passe.

Avez vous une idée. merci

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb

31 réponses

cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 21:57
? Ucfoutu, je suis allé voir l'aide MSDN, .Il ne faut pas pleurer
Ah d'ailleurs, vous n'aimez pas trop les gens hein , je vous comprends. mais bon en fin de compte j'ai quand même trouvé avec une autre technique pour ceux qui veulent :

If Val(TextBox1.Text) >= 1000 And Val(TextBox1.Text) <= 3054 Then
            If Val(TextBox2.Text) >= 7460 And Val(TextBox2.Text) <= 9000 Then
                If Val(TextBox3.Text) >= 6148 And Val(TextBox3.Text) <= 7614 Then
                    If Val(TextBox4.Text) >= 3152 And Val(TextBox4.Text) <= 4867 Then
                        'ACTION A EXECUTER SI LA CLE EST BONNE
                    Else
                        'ACTION SI ELLE EST FAUSSE
                    End If
                End If
            End If
        End If

ah tiens, je me demandais aussi, pourquoi tant de haine et d'énervement, pourquoi être parano et anthipathique ? je ne sais pas , mais seriez vous capable de répondre a ceci ?

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
3
Utilisateur anonyme
28 nov. 2011 à 23:16
Salut Weathley,

Pourquoi ne pas mettre le tout dans un seul if end if?

        If Val(TextBox1.Text) > 999 And _
           Val(TextBox1.Text) < 3055 And _
           Val(TextBox2.Text) > 7459 And _
           Val(TextBox2.Text) < 9001 And _
           Val(TextBox3.Text) > 6147 And _
           Val(TextBox3.Text) < 7615 And _
           Val(TextBox4.Text) > 3151 And _
           Val(TextBox4.Text) < 4868 Then
            'ACTION A EXECUTER SI LA CLE EST BONNE
        Else
            'ACTION SI ELLE EST FAUSSE
        End If


Pour info tu as aussi le AndAlso, mais dans ton cas je ne vois pas la nécessité, ça fonctionne un peu comme une table de vérité d'une porte logique d'un opérateur ET.

En ce qui concerne ucfoutu, il faut aussi comprendre qu'une grande partie des demandeurs sur ce forum arrivent ici sans aucune volonté de faire le moindre effort.

Ce qui n'est pas ton cas puisque tu as trouvé, mais c'est vrai que au bout d'un moment c'est pénible pour nous.

Du genre de question: Aidez-moi SVP, mon prof m'a demandé de faire un programme et j'arrive pas à sortir mes mais de la poche.
Ou encore: Je suis le roi des relations humaines, j'ai réussi à me faire embaucher, le problème c'est que je n'y connais rien et je n'ai la moindre envie de connaitre.

Tu vois?




CF2i - Guadeloupe
Ingénierie Informatique
3
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 00:22
je réédite:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        if textbox1.text >= 1175 and <= 4686 then
msgbox("oui")
else
msgbox("non")
end if
    End Sub

et
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        if textbox1.text >= 1175 <= 4686 then
msgbox("oui")
else
msgbox("non")
end if
    End Sub

(j'avais oublié d'écrire le end if dans le code)
Dans mon code, il y a écrit end if mais j'ai juste oublié de le taper ici. Merci de votre compréhension

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 07:36
Bonjour,

2 points :
1) une textbox contient du texte (pas du numérique)
2) ouvre ton aise (MSDN) sur le mot AND (opérateur) ==>> tu y trouves même un exemple d'utilisation de cet opérateur pour une conjonction logique sur deux expressions, en te rappelant d'ailleurs tyout simplement la syntaxe générale du AND, à savoir :
resultat = expression1 And expression2
alors que ce que tu as écrit, toi, serait : resultat = expression1 And une_valeur !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

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

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
28 nov. 2011 à 11:12
Salut

mets explicit on
alors tu verras que
if textbox1.text >= 1175 
n'est pas correcte
on ne peut pas comparer un string à un integer

Private Sub Button1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
 Dim num As Integer
        If Integer.TryParse(TextBox1.Text, num) Then
            If (num >= 1200) And (num <= 2400) Then
                MessageBox.Show("oui")
            Else
                MessageBox.Show("non")
            End If
        End If
    End Sub
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 18:20
Merci ucfoutu et shayw , grace a vous, j'ai compris comment bien utiliser cet opérateur


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 18:34
Je veux faire un programme comme dans les enregistrements de liscenses, avec 4 textbox. J'ai donc écrit ce code :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim num As Integer
        Dim num2 As Integer
        Dim num3 As Integer
        Dim num4 As Integer
        If Integer.TryParse(TextBox1.Text, num) And Integer.TryParse(TextBox2.Text, num2) And Integer.TryParse(TextBox3.Text, num3) And Integer.TryParse(TextBox4.Text, num3) Then
            If (num >= 1200) And (num <= 2400) Then
            ElseIf (num2 >= 2862) And (num <= 7354) Then
            ElseIf (num3 >= 3548) And (num <= 6843) Then
            ElseIf (num4 >= 1074) And (num <= 5467) Then
                MsgBox("ok")
            Else
                MsgBox("non")
            End If
        End If
    End Sub

Je le lance, aucun probleme au débogage mais dès que j'appuie sur le bouton 2, avec les textbox tels que:
Textbox1:1300
textbox2:2900
textbox3:3600
textbox4:1100
j'appuie donc sur ce bouton, mais rien ne se passe, aucune msgbox.
Pourriez vous m'aider? Merci

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 18:44
Regarde la logique de ce que tu as écrit !
avec 1300, tu es dans le 1er If, qui ne fait rien, et les autres (les elseif) seront sautés.
Pareil pour 2300 (1er elseif et les elsif sautés, donc)
pareil pour 3600 (2ème if et les autres sautés)
seul le 100 arrivera au 3ème elseif et affichera "ok"


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 18:47
Jai compris ce que j'ai écrit maintenant
Par contre, comment l'intrerpéter autrement ?
Merci


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 18:49
attends : c'est encore pire que cela ! je n'avais pas vu que tu considérais les valeurs de 4 textboxes
Donc tu es "out" d'entrée de jeu puisque num étant égal à 1300, tu ne parcours directement aucun des elseif (ni même le else).

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 18:50
Par contre, comment l'intrerpéter autrement ?

Il faudrait, pour te répondre, savoir avec précision ce que tu veux faire !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 18:51
Mais alors comment pourrais-je faire mon programme ?

Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 18:53
Mais alors comment pourrais-je faire mon programme ?


Nous ne pourrons te répondre que si tu nous en exposes le mécanisme (il est pour l'instant obscur) et sa logique !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 18:54
oops,
Je n'avais pas vu votre post avant , désolé.
Je veux que sur une form, il y ait 4 textboxes.
si à la textbox 1 (par exemple) on tape une valeur entre 1 et 10,
la 2eme entre 90 et 100
la 3eme entre 5 et 20
le 4eme entre 45 et 60,
si toutes les textboxes sont remplies de ces instructions, alors (exemple) msgbox("oui") ou else msgbox ("non")


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 18:58
Toujours pas vraiment clair
Mais si on s'en tient à ces "précisions", ce n'est pas des elseif qu'il faut utiliser, mes des And entre condition !
Si ..... et si .... et si ..... et si ....(etc) ... alors
'instructions
sinon
'autres instructions
fin si

Mais là, vois-tu, ce n'est même plus le B.A.BA, mais avant le B.A.BA !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 19:01
Es-ce ceci, je pense que non vu que cela ne fonctionne pas.Es-ce que je me rapproche ?
Dim num As Integer
        Dim num2 As Integer
        Dim num3 As Integer
        Dim num4 As Integer
        If Integer.TryParse(TextBox1.Text, num) And Integer.TryParse(TextBox2.Text, num2) And Integer.TryParse(TextBox3.Text, num3) And Integer.TryParse(TextBox4.Text, num3) Then
            If (num >= 1200) And (num <= 2400) Then
                If (num2 >= 2862) And (num <= 7354) Then
                    If (num3 >= 3548) And (num <= 6843) Then
                        If (num4 >= 1074) And (num <= 5467) Then
                            MsgBox("ok")
                        Else
                            MsgBox("non")
                        End If
                    End If
                End If
            End If
        End If



Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 19:05
*Avec des and

Dim num As Integer
        Dim num2 As Integer
        Dim num3 As Integer
        Dim num4 As Integer
        If Integer.TryParse(TextBox1.Text, num) And Integer.TryParse(TextBox2.Text, num2) And Integer.TryParse(TextBox3.Text, num3) And Integer.TryParse(TextBox4.Text, num3) Then
            If (num >= 1200) And (num <= 2400) And If(num2 >= 2862) And (num <= 7354) And If(num3 >= 3548) And (num <= 6843) And If(num4 >= 1074) And (num <= 5467) Then
                MsgBox("ok")
            Else
                MsgBox("non")
            End If
        End If

en clair, conditions du programme que j'aimerais avoir:
Si la valeur de la textbox1 est entre 60 et 70 et que la valeur de la textbox2 est entre 10 et 30 et que la valeur de la textbox3 est entre 60 et 70 et que la valeur de la textbox4 est entre 100 et 200 alors
OUI
sinon
NON





Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 19:06
Ton 1er if est étrange et sans la moindre logique derrière.
Désolé, mais je te laisse maintenant.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
cs_Weathley Messages postés 73 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 12 décembre 2011 1
28 nov. 2011 à 19:12
Svp, expliquez moi pour au moins 2 textboxes, mon probleme vient de la 2eme condition


Cordialement, Weathley

**********************************************************
Apprenti codeur en Vb
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 nov. 2011 à 19:18
expliquer quoi ?
Ce que tu as exposé toi-même !
Si la valeur de la textbox1 est entre 60 et 70 et que la valeur de la textbox2 est entre 10 et 30 et que la valeur de la textbox3 est entre 60 et 70 et que la valeur de la textbox4 est entre 100 et 200 alors
OUI
sinon
NON

et manque fin si
ou "si" est If, et "sinon" est Else
Et c'est toi qui voulais, dans une autre discussion, te mêler de faire un "spammeur"
Allons allons ! Il ne m'est pas possible de m'éterniser avec toi. Pardonne-moi.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous