Trouver l'erreur !?

Résolu
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007 - 15 févr. 2006 à 14:50
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007 - 17 févr. 2006 à 13:29
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

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 févr. 2006 à 14:11
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
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
16 févr. 2006 à 14:18
StuntMan_91 -> JRivet a répondu pour moi ;)
3
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
17 févr. 2006 à 01:34
ç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
Mindiell Messages postés 559 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
15 févr. 2006 à 15:18
Tu as essayé de le remplir directement ?
Verifie que tu rentres bien dans tes if...

Mindiell Software
0

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

Posez votre question
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 févr. 2006 à 15:28
Salut,

Deja je pense que cette syntaxe n est pas correct

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


@+
Julien
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 févr. 2006 à 15:32
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
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
15 févr. 2006 à 15:34
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.

++
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
15 févr. 2006 à 16:24
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
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
15 févr. 2006 à 16:28
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



++
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
16 févr. 2006 à 14:05
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 ....

++
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
16 févr. 2006 à 15:48
oups!!!
oui je vien de me rendre compte de mon enorme boulette !!!! mdr
merci les gars
je reviendrais vous dire si ca marche

++
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
17 févr. 2006 à 00:51
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 !!!

++
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
17 févr. 2006 à 01:08
g trouvé

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

merci à tous et à bientôt
0
stuntman_91 Messages postés 54 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 14 juillet 2007
17 févr. 2006 à 13:29
ok

c'est bon à savoir
merci
++
0