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 :

Comparer une valeur à plusieurs dans un if


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Par défaut Comparer une valeur à plusieurs dans un if
    Bonjour,

    J'ai un problème de syntaxe VB excel.

    Je voudrais comparer une valeur dans un if à plusieurs valeurs:

    If valeur = N ou S ou EU ou ... then
    ...

    Mais je ne sais pas comment syntaxer le "ou"...
    La question est basique je pense mais je ne vois pas comment faire..;

    Merci de votre aide!!!

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Si c'est du VB Excel, c'est a dire du VBA tu n'es pas dans le bon forum mais sinon il faut quelquechose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    If Valeur = N then
     ...
    ElseIf Valeur = S then
     ...
    ElseIf Valeur = EU Then
     ...
    Else 
     ...
    End If
    ou


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Select case Valeur
    Case "N"
     ...
    Case "S"
     ...
    Case "EU"
     ...
    Case Else
     ...
    End Select

  3. #3
    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,

    Moi, si je m'en tiens à ceci :

    If valeur = N ou S ou EU ou ... then
    Je traduirais plutôt ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If valeur = N or valeur = S or Valeur = EU then ...
    si N , S et EU sont des variables (ce qui n'est pas clair ...)

    S'il s'agit par contre de "N", "S" et "EU", ce serait alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If valeur = "N" or valeur = "S" or valeur = "EU" then...
    que je préfèrerais écrire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim toto as string
    toto = "@N@S@EU@"
    if instr(toto, "@" & valeur & "@" > 0 then ...
    ou encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Select case valeur
      case "N", "S", "EU"
        ' action 1
      case else
       'action 2
    end select
    Question de goûts et de couleurs ...

Discussions similaires

  1. Réponses: 10
    Dernier message: 13/07/2012, 09h39
  2. Réponses: 12
    Dernier message: 27/08/2007, 11h34
  3. test:comparer une valeur avec plusieurs valeurs
    Par kkkkkk dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2007, 21h25
  4. Joindre une valeur arbitraire dans un SELECT
    Par Tuxxy dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/01/2004, 17h04
  5. Passer une valeur Null dans un argument de procédure
    Par preempalver dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/12/2003, 20h52

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