Bonjour à tous et à toutes,
J'ai un problème avec la contrainte d'un TextBox, je veux qu'il soit numérique, et inférieur à 60 et supérieur à 0, mais le soucis, c'est que lorsque l'on tape un chiffre supérieur ou égale à 100 (maxlenght = 3 ou sup), mon message d'erreur n'est pas affiché, est le TextBox est validé.
Le code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub TextBox_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.Validated If Not IsNumeric(TextBox.Text) Or TextBox.Text = "0" Or TextBox.Text > "60" Then TextBox.BackColor = Color.Red MessageBox.Show("Veuillez vérifier la valeur !" & System.Environment.NewLine & "Valeur Numérique obligatoire et différente de ""0"" et inférieur à ""60 mm"" !", _ "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox.Text = "0" TextBox.Select() Exit Sub Else TextBox.BackColor = Color.LightGreen VariableTextBox = CSng(TextBox.Text) TamponTextBox = TextBox.Text End If End Sub
J'ai essayé de le restreindre avec la Longueur Max du TextBox, mais dans ce cas la plus rien ne marche ...
Voici le code testé :
J'ai aussi essayé de créer un intervalle, mais là, tout est accepté...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub TextBox_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.Validated If Not IsNumeric(TextBox.Text) Or TextBox.Text = "0" Or TextBox.Text > "60" Or TextBox.MaxLenght > 2 Then TextBox.BackColor = Color.Red MessageBox.Show("Veuillez vérifier la valeur!" & System.Environment.NewLine & "Valeur Numérique obligatoire et différente de ""0"" et inférieur à ""60 mm"" !", _ "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox.Text = "0" TextBox.Select() Exit Sub Else TextBox.BackColor = Color.LightGreen VariableTextBox = CSng(TextBox.Text) TamponTextBox = TextBox.Text End If End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub TextBox_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.Validated If Not IsNumeric(TextBox.Text) Or TextBox.Text = "0" Or TextBox.Text > "60" And TextBox.Text < "1000000000" Then TextBox.BackColor = Color.Red MessageBox.Show("Veuillez vérifier la valeur!" & System.Environment.NewLine & "Valeur Numérique obligatoire et différente de ""0"" et inférieur à ""60 mm"" !", _ "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox.Text = "0" TextBox.Select() Exit Sub Else TextBox.BackColor = Color.LightGreen VariableTextBox = CSng(TextBox.Text) TamponTextBox = TextBox.Text End If End Sub
Je n'arrive pas a trouver l'erreur qui fait que ça ne marche pas...
J'avais le même soucis sur un autre TextBox, il devais être supérieur ou égal à 10, et j'ai pu le résoudre de cette façon :
J'ai du rentrer toutes les valeurs qui cause l'erreur. Il n'y a pas de moyens plus rapides ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub TextBox2_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.Validated If TextBox2.Text = "0" Or TextBox2.Text = "1" Or TextBox2.Text = "2" Or TextBox2.Text = "3" Or TextBox2.Text = "4" _ Or TextBox2.Text = "5" Or TextBox2.Text = "6" Or TextBox2= "7" Or TextBox2.Text = "9" _ Or TextBox2.Text = "9" Or Not IsNumeric(TextBox2.Text) Then TextBox2.BackColor = Color.Red MessageBox.Show("Veuillez vérifier ""Epmin"" !" & System.Environment.NewLine & "Valeur Numérique obligatoire et supérieur à ""10 mm"" !", _ "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox2.Text = "10" TextBox2.Select() Exit Sub Else TextBox2.BackColor = Color.LightGreen VariableTextBox2 = CSng(TextBox2.Text) End If If TextBox2.Text = "0" Then TextBox2.BackColor = Color.Orange End If TamponTextBox2 = TextBox2.Text
Cordialement,
Bacube
Partager