Problème dans mon prog avec des chiffres

Résolu
fred62240 Messages postés 8 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 27 mars 2006 - 24 mars 2006 à 22:33
fred62240 Messages postés 8 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 27 mars 2006 - 24 mars 2006 à 22:48
Bonjour,
Alors voila j'ai un problème dans mon premier programme, j'explique ce que je veux faire (enfin je vais essayé ^^) :
Donc je dispose d'un label et d'un textbox, le label contient la valeur 100 et le textbox est modifiable (il est mis à 0 au lancement), sauf que si la valeur du textbox dépasse celui du label un message d'erreur apparait.
Le problème est le suivant : si je marque 2, il me dit que le chiffre est trop grand (hors vous êtes d'accord 100>2) mais si je marque 10 ou 1 c'est bon, donc je remarque que le problème est qu'il fait la différence entre les dixaines, les centaines, etc (enfin je pense).
Pourtant je ne trouve pas mon problème, voici le code : (le label sapelle "argent" et le textbox "mise")

Private Sub mise_Change()
If mise.Text > argent.Caption Then
MsgBox "Vous n'avez pas assé d'argent!"
End If
End Sub

Help me please :/

6 réponses

cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
24 mars 2006 à 22:41
bonjour,
la comparaison que tu fait est une compraraison de texte et pas de nombre
"100"<"2"
donc pour corriger tu doit comparer les valeurs numerique

Private Sub mise_Change()
If val(mise.Text) > val(argent.Caption) Then
MsgBox "Vous n'avez pas assé d'argent!"
End If
End Sub

Hassen TUNISIE
3
VBEnJ0Y Messages postés 25 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 5 octobre 2006
24 mars 2006 à 22:42
Salut,

C'est normal puisque tu ne précise pas que c'est la valeur numérique des 2 champs qu'il faut comparer. Il te faudra utiliser la fonction Val(), comme ceci :

Private Sub mise_Change()
If Val(mise.Text) > Val(argent.Caption) Then
MsgBox "Vous n'avez pas assé d'argent!"
End If
End Sub

++
VBEnJ0Y
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
24 mars 2006 à 22:43
Lut,
Peut-être qu'en convertissant les valeurs de type "string" contenu dans ton label et textbox en entier sa marchera mieux

Private Sub mise_Change()
if (isnumeric(mise.text)) and (isnumeric(argent.caption)) then
If cint(mise.Text) > cint(argent.Caption) Then
MsgBox "Vous n'avez pas assé d'argent!"
End If
else
msgbox "l'une des 2 valeurs n'est pas un nombre"
end if
End Sub
0
VBEnJ0Y Messages postés 25 Date d'inscription samedi 11 mars 2006 Statut Membre Dernière intervention 5 octobre 2006
24 mars 2006 à 22:45
Ahhh, hassen m'a devancé lol

++
0

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

Posez votre question
fred62240 Messages postés 8 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 27 mars 2006
24 mars 2006 à 22:46
Merci beaucoup, tu vien de m'apprendre quelque chose ;)
(en même temps c'est mon premier programme ^^)

encore merci.
Bye
0
fred62240 Messages postés 8 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 27 mars 2006
24 mars 2006 à 22:48
Oula appéne fini de remercier il y en a 2 autres qui si sont mis ^^
THX
0
Rejoignez-nous