IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

variable à plusieurs valeurs dans une bcle If then ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut variable à plusieurs valeurs dans une bcle If then ?
    bonjour
    voila le probleme
    j'ai le test suivant
    si SP= val alors instruction
    le truc , c'est VAL contient plusieurs valeurs qui peuvetn etre discontinues.

    ex val =( 45,48,58,60,....)
    j'ai essayé
    si SP =(45,48.... marche pas erreur
    si SP=(45 or 48....) marche pas

    si quelqu'un à une idee



    peut un tableau () ...........

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Une idée ?
    Oui, plusieurs... mais la plus simple reste d'utiliser un select case, pardi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim toto As Integer
    toto = 4
    Select Case toto
      Case 1, 5, 12, 27
        MsgBox "oui"
      Case 8, 4
        MsgBox "peut-être"
      Case Else
        MsgBox "non"
      End Select

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut

    rien dire




    je rajoute les valeurs sont issus d'une procedure
    donc pour reprendre
    Case 1, 5, 12, 27
    comment faire pour inclure dans le case (x,y,z,....) les resultats de la procedure

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    pour info quand même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if sp = 44 or sp=11 or sp=4 then
    il faut mettre le or entre les =
    Chaque égale renvoie un booléen et on utilise les or pour les traiter

    regarde celui la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim a as boolean,b as integer,c as integer
    b=3
    c=6
    a=b=c
    msgbox a
    a=2*b=c
    msgbox a

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    bonsoir ucfoutu, krovax

    comme je le dis
    les valeurs etant issues d'une procedure donc le nb de valeurs est variables .
    il faut que je trouve un moyen de les inclure automatiquement dans mon test .
    pour le SELECT CASE , c'est mieux que rien
    il faudrait que je creuse l'idee du tableau
    le test si SP est present dans le tableau et je lance l'instruction

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Dans ce cas si tu as un tableau val et que tu veux tester si sp est une des valeur
    mais dans ce cas sp=val ne peux pas fonctionner va dire a un matheux si 5 égale le vecteur (1,2,3) il va faire de gros yeux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for i = 0 to ubound(val )
    if val(i)=sp then 
    flag=true
    exit for
    end if
    next i
     
    'ensuite tu test flag
    if flag then mesgbox "sp est une des valeur de val"

Discussions similaires

  1. Stocker plusieurs valeurs dans une variable Session
    Par PrinceMaster77 dans le forum Langage
    Réponses: 3
    Dernier message: 05/01/2010, 11h04
  2. Réponses: 5
    Dernier message: 04/06/2008, 10h03
  3. recuperer plusieurs valeurs dans une cellule
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2008, 21h40
  4. plusieurs valeurs dans une seul select
    Par sonja dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/06/2007, 16h30
  5. Réponses: 10
    Dernier message: 03/07/2006, 14h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo