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 :

faire un "OU"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut faire un "OU"
    Bonjour,

    question très bête je suppose mais bon...

    Je souhaite faire un OU comme ceci :
    Si B7= "6 OU 8 OU 10" alors
    mon instruction
    FinSi

    Comment puis-je coder ça svp?
    Merci par avance!
    Aud-

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    Si tu connais un peu l'anglais ce n'est pas trop compliqué!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If a = 1 Or a = 2 Then
            MsgBox "A = 1 ou 2"
        End If
    ^^

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut canary et le forum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If [B7]= 6 or [B7]=8 or [B7]=10 then
         'mon instruction
    End if
    A+

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    moui je me doutais bien que ça se tramait comme ça mais bon, j'ai une phrase à rallonge comme celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7").Value ="F3" ou ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7").Value ="N3" ou ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7").Value ="AKG"
    .... j'en ai 15 à mettre derriere

    y a pas une autre solution pour faire plus court?

  5. #5
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Une façon plus courte d'écriture... en fait, deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim sValeur 'as strin si c'est toujours une chaine.
    sValeur = ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7").Value
    If sValeur = "F3" Or sValeur = "N3" Or sValeur = "AKG" Then 'et on continue
        MsgBox "Egal"
    End If
    '******************************************************
    ' ou
    With ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7")
        If .Value = "F3" Or .Value = "N3" Or .Value = "AKG" Then 'et on continue
            MsgBox "Egal"
        End If
    End With

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    La deuxième forme serait fin bien meme si elle ne semble pas trop rigoureuse à mon gout...
    Je teste et je reviens
    merki deja

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    super la 2ème technique marche nikel
    MERCI!!

  8. #8
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Cette technique fonctionne aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub test()
    Dim Tableau(1 To 15) 'As String si toujours une chaine
    Dim bTag As Boolean
    Dim i As Integer
    bTag = False
    Tableau(1) = "F3"
    Tableau(2) = "N3"
    Tableau(3) = "AKG"
    Tableau(4) = "xxx"
    'on continue
     
    For i = 1 To 15
        If ThisWorkbook.Worksheets("OutilCommerciaux").Range("E7").Value = Tableau(i) Then
            bTag = True
            Exit For
        End If
    Next i
    If bTag = True Then
        MsgBox "Egal"
    End If
    End Sub
    C'est un peu plus compliqué vite comme cela mais l'avantage est qu'il est plus facile de nommer les conditions.

+ Répondre à la discussion
Cette discussion est résolue.

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