Meilleur auteur de réponses
comparaison entre deux TextBox

Question
-
Bonjour,
je cherche à comparer deux TextBox mais j'arrive pas à le faire comme je suis débutant, alors je serai econnaissant si quelqu'un peut me donner un coup de main
voici mon code :
If Val(TextBox1.Text) >= Val(TextBox42.Text) Then
TextBox42.BackColor = Color.Red
Else
TextBox42.BackColor = Color.White()
End If
Réponses
-
Bonjour lotfibedui,
Si tu utilises Val, on peux supposer que les valeurs sont numériques, et éventuellement avec décimales. Problème avec Val : il fonctionne avec le séparateur décimal US, cad le point. Avec le séparateur décimal français, la virgule :
- Val ("1,1") = 1
- Val ("1,2") = 1
le test ne fonctionnera donc pas. A la place de Val utilises plutôt Cdbl ou CSng , qui tiennent compte des paramètres régionaux.
Cordialement, Jacques
- Modifié Jacques93 samedi 11 mai 2013 12:38
- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:03
-
Question simple, réponse complexe (voire très complexe).
Si je comprends bien, vous souhaitez comparer deux chiffres qui doivent être saisis dans deux textbox.
Le premier problème est de convertir un string en ... chiffre. Et un chiffre, ca peut être un integer, un double, un decimal, etc.
Décidons que cela doit être un decimal. Le meilleur moyen pour convertir un string en decimal, c'est d'utiliser la méthode statique TryParse de decimal. Donc on a un truc du genre :
Dim valeur1 as Decimal
If Not Decimal.TryParse(textbox1.Text, ref valeur1) Then ...'c'est pas cool'Faire idem pour le textbox2. Vous pouvez alors comparer tranquillement deux decimal (votre code va bien).
Dernier petit problème : si vos chiffres comportent une virgule ou un point. Dans ce cas, pour le TryParse, vous devez spécifiez le style du chiffre et la culture.
Bonne chance ;-)
NB: aussi bizarre que cela puisse paraitre, c'est le genre de question que l'on peut utiliser pour un entretien d'embauche.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:03
-
bonjour
Tu trouveras beaucoup d’exemples dans les moteurs de recherche en cherchant textbox numérique.
par exemple :
Public Function Isnumber(ByVal KCode As String) As Boolean If Not Isnumeric(KCode) And KCode <> ChrW(Keys.Back) And KCode <> ChrW(Keys.Enter) And KCode <> "."c Then MsgBox("Please Enter Numbers only", MsgBoxStyle.OkOnly) End If End Function Private Sub txtBalance_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtBalance.KeyPress If Not Isnumber(e.KeyChar) Then e.KeyChar = "" End If End Sub
ici : http://stackoverflow.com/questions/9969824/vb-net-need-text-box-to-only-accept-numbers
Cordialement
Pascal
http://www.scalpa.info- Modifié scalpa dimanche 12 mai 2013 16:32
- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:04
Toutes les réponses
-
Bonjour lotfibedui,
Si tu utilises Val, on peux supposer que les valeurs sont numériques, et éventuellement avec décimales. Problème avec Val : il fonctionne avec le séparateur décimal US, cad le point. Avec le séparateur décimal français, la virgule :
- Val ("1,1") = 1
- Val ("1,2") = 1
le test ne fonctionnera donc pas. A la place de Val utilises plutôt Cdbl ou CSng , qui tiennent compte des paramètres régionaux.
Cordialement, Jacques
- Modifié Jacques93 samedi 11 mai 2013 12:38
- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:03
-
Question simple, réponse complexe (voire très complexe).
Si je comprends bien, vous souhaitez comparer deux chiffres qui doivent être saisis dans deux textbox.
Le premier problème est de convertir un string en ... chiffre. Et un chiffre, ca peut être un integer, un double, un decimal, etc.
Décidons que cela doit être un decimal. Le meilleur moyen pour convertir un string en decimal, c'est d'utiliser la méthode statique TryParse de decimal. Donc on a un truc du genre :
Dim valeur1 as Decimal
If Not Decimal.TryParse(textbox1.Text, ref valeur1) Then ...'c'est pas cool'Faire idem pour le textbox2. Vous pouvez alors comparer tranquillement deux decimal (votre code va bien).
Dernier petit problème : si vos chiffres comportent une virgule ou un point. Dans ce cas, pour le TryParse, vous devez spécifiez le style du chiffre et la culture.
Bonne chance ;-)
NB: aussi bizarre que cela puisse paraitre, c'est le genre de question que l'on peut utiliser pour un entretien d'embauche.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:03
-
bonjour
Tu trouveras beaucoup d’exemples dans les moteurs de recherche en cherchant textbox numérique.
par exemple :
Public Function Isnumber(ByVal KCode As String) As Boolean If Not Isnumeric(KCode) And KCode <> ChrW(Keys.Back) And KCode <> ChrW(Keys.Enter) And KCode <> "."c Then MsgBox("Please Enter Numbers only", MsgBoxStyle.OkOnly) End If End Function Private Sub txtBalance_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtBalance.KeyPress If Not Isnumber(e.KeyChar) Then e.KeyChar = "" End If End Sub
ici : http://stackoverflow.com/questions/9969824/vb-net-need-text-box-to-only-accept-numbers
Cordialement
Pascal
http://www.scalpa.info- Modifié scalpa dimanche 12 mai 2013 16:32
- Marqué comme réponse Aurel Bera mercredi 15 mai 2013 12:04
-
Bonjour,
Il existe une multitude de façons à faire les vérifications, mais votre description de problème manque de détails; vos textbox vont-ils recevoir du texte ?
Les vérifications peuvent se faire avec les expressions régulière, avec un simple if (attention à la "case"), avec l'exemple d'entrée au niveau du clavier (voir exemple ci-dessus), et j'en passe bien d'autres
Nous attendons plus d'informations sur ce que vous recherchez a faire pour vous donner plus précisément la bonne information
Cordialement,
-
Pour info, IsNumeric utilise Double.TryParse en interne.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
vos textbox vont-ils recevoir du texte ?
Forcement, la propriété Text d'un TextBox est un string.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
-
vos textbox vont-ils recevoir du texte ?
Forcement, la propriété Text d'un TextBox est un string.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophoneBonjour,
Il est certain =)
Mais c'est quand même plus simple a faire une comparaison avec des entiers qu'avec du texte majuscule, minuscule, UTF8(7), ... et j'en passe d'autreCordialement,
-
Bonjour,
Pouvons-nous considérer que vous avez résolu votre problème avec les scénarios proposés ? Dans l'affirmative, pourriez-vous partager avec nous la solution, afin que d'autres personnes avec le même problème puissent profiter de cette solution ?
Désormais, nous marquons les solutions proposées. N'hésitez pas à revenir et supprimer la réponse marquée si la solution n’est pas correcte. Merci !
Cordialement,