Control chiffre

marty14 Messages postés 104 Date d'inscription lundi 21 août 2006 Statut Membre Dernière intervention 29 mai 2011 - 27 sept. 2008 à 13:59
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 28 sept. 2008 à 20:59
Bonjour,


j'aimerais faire un truc comme ceci mais apparament mon code n'est pas bon ! :


If BufferIn(3) = "166" Or "167" Or "168" Or "169" Or "207" Or "206" Or _"205" Or "204" Or "203" Or "200" Or "199" Or "201" And BufferIn(1) "1" Then tomtom Asc(BufferIn(5))

Merci de votre aide

9 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 sept. 2008 à 14:12
Bonjour,
de manière générale :
On n'écrit pas if toto = "a" or "b" or "c"
maisIf toto "a" or toto "b" or toto = "c"
0
marty14 Messages postés 104 Date d'inscription lundi 21 août 2006 Statut Membre Dernière intervention 29 mai 2011
27 sept. 2008 à 14:25
J'ai trouvé donc il faut répéter( BufferIn(3) = )  à chaque resultat.
0
marty14 Messages postés 104 Date d'inscription lundi 21 août 2006 Statut Membre Dernière intervention 29 mai 2011
27 sept. 2008 à 14:25
OUps :)) Merci jmfmarques :)
0
marty14 Messages postés 104 Date d'inscription lundi 21 août 2006 Statut Membre Dernière intervention 29 mai 2011
27 sept. 2008 à 14:50
AH oui mais non en fait !
car : Public sp As String

Dans ce cas SP a une valeur de 3
If BufferIn(3) "166" Or BufferIn(3) "167" Or BufferIn(3) = "168" Or BufferIn(3) = "169" Or BufferIn(3) = "207" Or BufferIn(3) = "206" Or _ BufferIn(3) "205" Or BufferIn(3) "204" Or BufferIn(3) = "203" Or BufferIn(3) = "200" Or BufferIn(3) = "199" Or BufferIn(3) = "201" And SP = "3" Then tomtom = BEEP

 Mais si SP prend une valeur de 2 ca beep quand meme
ou ce trouve l'erreure ?????
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 sept. 2008 à 15:39
Mets tous tes Or entre parenthhèses :et fait suivre par ton And
If (.... or ..... or ....) and SP ... then ...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 sept. 2008 à 15:42
Encore que tu soulagerais ta machone en écrivant plutôt :

If SP = "3" then
  If .... or .... or .... then
     'ton instruction
  End If
end if

De sorte à ne pas comparer (tes Or)  lorsqu'inutile d'emblée
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 sept. 2008 à 16:40
salut,


    Select Case Val(BufferIn(3))
        Case 166 To 169, 199 To 201, 203 To
207: If sp = "3" Then tomtom = Asc(BufferIn(5))
    End Select





++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 sept. 2008 à 16:43
je n'avais pas lu ton dernier message jmf, le test de SP avant et séparément est en effet judicieux
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 sept. 2008 à 20:59
Ah, ah... j'vais pouvoir faire mon fier ! -:);

Voilà donc, peut-être la meilleure solution :

If SP = "3" then
Select Case Val(BufferIn(3))
        Case 166 To 169, 199 To 201, 203 To 207
         tomtom = Asc(BufferIn(5))
End Select
End If

Bon, bon... je reconnais n'avoir aucun mérite... Tout revient à nos deux champions : Jmfmarques et PCPT...

N'empêche, une petite remarque toute perso. Est-ce que BufferIn est un tableau de type Texte (string) ou de type Numérique (Long, par exemple) ? ...
Selon toute évidence, il semble contenir que des nombres, et dans ce cas, on pourrait éviter les conversions implicites... soit :

If SP = 3 then
Select Case BufferIn(3)
        Case 166 To 169, 199 To 201, 203 To 207
         tomtom = Asc(BufferIn(5))
End Select
End If

Cela n'a surement pas échappé à nos champions, mais bon... c'est juste en passant pour m'associer un instant et très modestement à l'équipe...

Amicalement,
Us.
0
Rejoignez-nous