Problème avec 1

Résolu
1217meyrin Messages postés 159 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2007 - 19 août 2006 à 17:05
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 19 août 2006 à 17:47
bonjour,

voilà le test que je fait:
if (Val(a2.Text) = Val(a1.Text) + 1

Or Val(a2.Text) = Val(a1.Text) - 1) then

si a1 contient 6, si je rentre 5 ou 7, la condition est remplie, mais si je rentre 1 la condition saute?

c'est à cause du +1 dans la formule, mais comment faire autrement?

merci

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
19 août 2006 à 17:47
Change ta procédure par celle-ci :

Dim ValMoins As Long, ValPlus as Long, ValTest As Long

ValMoins = CLng(a1.Text) - 1
ValPlus = CLng(a1.Text) + 1
ValTest = CLng(a2.Text)

If ValTest ValPlus Or ValTest ValMoins then
MsgBox "La valeur est à plus ou moins 1, c'est parfait"
Else
MsgBox "Retourne à l'école, tu sais pas compter... la valeur doit-être " & _
Val(a1.Text) + 1 & " OU " & Val(a1.Text) - 1
End If

++
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
19 août 2006 à 17:24
Salut,

"si a1 contient 6, si je rentre 5 ou 7, la condition est remplie, mais si je rentre 1 la condition saute?"

Bah oui,

a1 a2
6 7 -->> conditions remplie, logique !
6 1 -->> conditions NON remplie, logique aussi !

Je comprends pas vraiment le sens de ta question, peux tu préciser stp ? merci

++
mortalino
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
19 août 2006 à 17:28
Salut, peut-être qu'un petit Else avec le code qui va bien dedans devrait te sortir d'affaire ?
If conditionremplie then
   'moncode
else
   'monautrecode
end if
0
1217meyrin Messages postés 159 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 6 février 2007
19 août 2006 à 17:40
oui, bien sur, je m'explique, la condition avec le 1 ne devrait pas etre remplie, mais elle l'est, je ne sais pas pourquoi?
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
19 août 2006 à 17:42
Arf,

salut Dolphin, je n'avais pas compris ça, c'est pas con !

'(en fait, j'ai rien compris du tout...de ce qu'il voulait)

Donc pour faire comme dit Dolphin :

If (Val(a2.Text) Val(a1.Text) + 1 Or Val(a2.Text) Val(a1.Text) - 1) then
MsgBox "La valeur est à plus ou moins 1, c'est parfait"
Else
MsgBox "Retourne à l'école, tu sais pas compter... la valeur doit-être " & _
Val(a1.Text) + 1 & " OU " & Val(a1.Text) - 1
End If

++
0