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
1
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