Comparaison de texbox [Résolu]

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour!

j'ai un petit problème lié à la comparaison de deux textbox dans lesquels je rentre une valeur numérique.

Je commence par rentrer une valeur (10 par exemple) dans le textbox5 puis je rentre une valeur dans le textbox6.

les codes placés dans _change me permettent de vérifier les formats de ces textbox.

Dans notre exemple, si je rentre une valeur sup à 2, le système me fait passer par le cas ou textbox5 est supérieur à textbox6! Comme si il ne prenait que le premier chiffre de la valeur. Pourtant j'ai bien vérifié que textbox5 était égal à 10.

pdstare et pdsbout ont été déclarés en variable publique single dans un module prévu à cet effet.

Voici le code du textbox6_change


Private Sub TextBox6_Change()
If IsNumeric(TextBox6) = False Or TextBox6.Value < 0 Then
TextBox6.Text = ""
Exit Sub
End If

If TextBox5.Value = "" Or TextBox5.Value = 0 Then
MsgBox "Rentrer d'abord le poids total de la bouteille"
TextBox6.Text = ""
Exit Sub
Else

pdstare = TextBox6.Value
pdsbout = TextBox5.Value

If pdstare > pdsbout Then
MsgBox "Poids total inférieur à poids de la tare!"
TextBox6.Text = ""
Exit Sub
End If
End If
End Sub


merci de votre aide!

Steph

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Nous ne pourrons répondre valablement à cette question que lorsque tu auras donné les précisions objets du dernier paragraphe de mon message précédent !
...non vraiment, je ne l'ai pas, même en rafraichissant.

peux tu simplement me le redonner stp?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
rhoooooi...
tu serais bien le seul à ne pas voir ce dernier paragraphe, hein ...
Bon ...
le revoilà :
Et pour ce qui est de cette conversion : elle peut diffère selon que tes textboxes ne contiennent que des entiers. Et si décimaux, selon le séparateur décimal utilisé dans la saisie. Or, tu ne nous parles pas de ces aspects-là.
merci

aujourd'hui je souhaiterai que cela fonctionne déjà avec des entiers.

pour le séparateur décimal, il s'agit de la virgule.

Pour moi un single comprend et des entiers et des chiffres à décimale, non?


PS : pour ce qui est de l'affichage du message, j'aimerai pouvoir t'envoyer un imprim-écran pour te montrer ma bonne foi... mais on ne peut pas lier de fichier
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Ce n'est pas comme tu le penses, non. Un single peut contenir des décimales, mais un texte reste un texte tant que non transformé en numérique !
Ouvre ton aide VBA sur le mot csng
voilà ma manière de te répondre.
CSng("12,23") retourne la valeur numérique 12.23
Cela fonctionne à merveille.

Merci pour la concision et la précision chirurgicale de ta réponse.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
Une comparaison numérique n'est pas une comparaison de texte.
"10" est plus petit que "2", alors que 10 est plus grand que 2.
Une textbox ne contient que du texte.
Si tu veux faire une comparaison numérique, il faut comparer non leur contenu, mais la conversion en numérique de leur contenu.

Et pour ce qui est de cette conversion : elle peut diffère selon que tes textboxes ne contiennent que des entiers. Et si décimaux, selon le séparateur décimal utilisé dans la saisie. Or, tu ne nous parles pas de ces aspects-là.
Merci Ucfoutu mais je pensais que le fait de passer les valeurs des textbox par mes variables pdstare et pdsbout (déclarées en single) pouvait régler ce pb.

Comment puis-je faire sinon pour comparer les valeurs en numérique?

Merci de ta réponse.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Je voudrais te faire remarquer que si tu avais ouvert ton aide VBA sur le mot "conversion", tu y aurais vu une rubrique intitulée " Fonctions de conversion de types de données" (elle est à lire, dès les premiers pas en VBA).

Oui effectivement, mais avant de faire une recherche sur une fonction quelconque, il faut pouvoir identifier le problème, N'est-ce pas l'essence même de ce forum?

Ce n'est pas la première fois que tu me répond, donc encore une fois merci de ton temps pour aider et répondre aux questions, mais attention à ta "manière de répondre". Ton attitude un peu pédante et supérieure dans tes réponses est particulièrement désagréable - surtout un lundi matin.

Peut-être que répondre aux questions posées ne te sert qu'à satisfaire ton égo et à remplir ton tableau de stat de "résolu"?

Tout le monde ne peut avoir tes compétences en VB - que je reconnais mille fois supérieures aux miennes. Ceci dit je suis sûr que sur d'autres sujets autres qu'informatiques je saurais te mettre à l'amende, donc stp, met un peu d'humilité dans tes réponses.

Merci quand même.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bon.
Libère donc cette discussion (un clic sur te tag "résolu", au niveau de ton tout premier message).
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Tu viens, Steph, de gagner le droit de ne plus avoir mes réponses, puisque tu les trouves "pédantes", "désagréables" et destinées à "satisfaire mon ego".
Bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
J'ajouterai donc "susceptible"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Oui. Pas toi, "apparemment" !
Avant de te quitter : une lecture que tu semble avoir besoin de (re)faire :
http://codes-sources.commentcamarche.net/contents/11-charte-de-commentcamarche-net-conseils-d-ecriture
Une recherche sur ce forum (rappelé deux fois dans ce texte) t'aurait permis d'éviter l'ouverture d'une discussion nouvelle pour un problème traité moult fois !