Problème avec 1

Résolu
Messages postés
159
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2007
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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

++
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

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
Messages postés
159
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
6 février 2007

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?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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

++