Trouver l'erreur !?

Résolu
Signaler
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007
-
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007
-
salut à tous!

j'essaye d'afficher un résultat dans Label9.Caption mais çà n'affiche rien! grrr
je n'arrive pas à trouver mon erreur, donc si vous avez une idée dîtes le moi!!!

voilà une partie du code:

Dim I as single
Dim w as integer
Dim h as single

If Text2.Text <> "" and Text2.Text <> "ne pas mettre mm" and Label11.Caption <> "?" and Label10.Caption <> "?" Then
I = Val(Text2.Text) + Val(Label11.Caption) + Val(Label10.Caption)
Label9.Caption = ""
End if

If Val(I) = 2.5 Then
Label9.Caption = Val(I)
Elseif 2.5 > Val(I) > 3 Or Val(I) = 3 Then
Label9.Caption = 3
End if
For w 0 to w 2 Then
If (3 + Val(w)) > Val(I) > (4 + Val(w)) Or Val(I) = (4 + Val(w)) Then
h = 4 + Val(w)
Label9.caption = Val(h)
End if
Next
For w 0 to w 2 Then
If (6 + (2 * Val(w))) > Val(I) > (8 + (2 * Val(w))) Or Val(I) = (8 + (2 * Val(w))) Then
h = 8 + (2 * Val(w))
Label9.caption = Val(h)
End if
Next

.
.
.

Ps: le Label9.caption s'efface bien mais il n'affiche pas de résultat!

Je ne sais pas si c'est un problème de syntaxe ou de façon d'ecrire les chiffres ( du type ##.#) ou encore de déclaration des variables ... bref j'en sais rien !!!

Merci et A+

14 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

NON,

Ca revient au meme au meme dans ton IF tu as ecrit

Si Val(i) est inferieure à 2.5 AND Val(i) est Superieure ou egale à 3...

Question de logique: Y a t il une valeur de Val(I) qui peut Respecter cette condition -> Je ne pense pas.

LA Bonne question est Qu est ce aue tu veux comme condition.

Si tu veux une valeur comprise entre 2.5 et 3:

IF Val(I)>= 2.5 And Val(i)<= 3 Then...

J espere avoir pu t'aider un peu
@+
Julien
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
StuntMan_91 -> JRivet a répondu pour moi ;)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
ça fait pas d'erreur parce que c'est pris comme ça:

For w 0 To (w 2)


(w - 2) est un Booléen



si w = 2:

For w = 0 to -1 donc pas de boucle

si w <> 2:

For w = 0 to 0 une seule boucle



Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
Tu as essayé de le remplir directement ?
Verifie que tu rentres bien dans tes if...

Mindiell Software
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Deja je pense que cette syntaxe n est pas correct

"For w 0 to w 2 Then" (en vb6 en tout cas)


@+
Julien
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Ensuite.

Si I = 2.6

Cette condition n'est pas respecter:

ElseIf 2.5 > Val(I) > 3 Or Val(I) = 3 Then (il faut le faire en plusieur ligne (le x>y>z n est pas trop aime)
Donc deja au vu de cela il faut revoir un peu ton code

@+
Julien
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

qu'est ce que tu veux dire par directement???
pour les if j'ai vérifié, les conditions ne se recoupent pas et il y a autant de if que de end if.

++
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
ces tests sont faux:

ElseIf 2.5 > Val(I) > 3 Or Val(I) = 3 Then ...


le résultat d'une comparaison est un Booléen:

2.5 > Val(I) --> donne 0 ou -1



ce qui fait que la deuxième comparison sera toujours fausse

0 > 3 --> donne Faux

-1 > 3 --> donne Faux



Daniel
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

sachant également que SI (et ce n'est pas cas) la syntaxe était bonne, je connais peu de valeurs qui soient à la fois <2.5 et en même temps >=3



++
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

ok


alors en gros je n'ai pas la possibilité de faire d'encadrement!
Est ce que cela serait mieu???


if (2.5>Val(I)) = 0 and (Val(I)>=3) = 0 Then


....

(je suppose que l'on obtient 0 si c'est vrai et -1 si c'est faux)

par contre pcpt je n'ai pas compris ou était le problème:
je peux avoir entre 2.5 et 3 : 2.6 ; 2.7 ....

++
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

oups!!!
oui je vien de me rendre compte de mon enorme boulette !!!! mdr
merci les gars
je reviendrais vous dire si ca marche

++
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

j'ai fai sa:

If Val(I) = 2.5 Then
Label9.Caption = Val(I)
ElseIf 2.5 < Val(I) And Val(I) <= 3 Then
Label9.Caption = 3
End IfFor w 0 To w 2
If (3 + Val(w)) < Val(I) And Val(I) <= (4 + Val(w)) Then
h = 4 + Val(w)
Label9.Caption = Val(h)
End If
Next

mai ca ne marche toujours pas !!!

++
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

g trouvé

c 'est
For w 0 to 2 et pas For w 0 to w =2

merci à tous et à bientôt
Messages postés
54
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
14 juillet 2007

ok

c'est bon à savoir
merci
++