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 :

boucle IF avec les mots "and" et "or" [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 35
    Par défaut boucle IF avec les mots "and" et "or"
    Bonjour à tous,

    Après avoir cherché sur plusieurs forum, je n'arrive pas à résoudre mon problème.

    Je dois réaliser un boucle If dans laquelle je dois faire un test en utilisant les mots "and" et "or". Cependant, cela ne fonctionne pas (l'erreur doit venir du positionnement des 2 mots).

    Voici ce que je dois tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Cells(i, 13) = 1 And Cells(i, 15) <> 0) Or (Cells(i, 13) = 1 And Cells(i, 15) <> 5) Then
    .

    Quelqu'un aurait la solution à mon petit problème ?

    Cordialement,

    Tony Hedan

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Essais comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 13) = 1 And  (Cells(i, 15) <> 0 Or Cells(i, 15) <> 5) Then

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If (Cells(i, 13) = 1) And ((Cells(i, 15) <> 0) Or ( Cells(i, 15) <> 5)) Then

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Une petite astuce :
    Les Et (AND) sont comparable à
    0 *1=0 | 1*1=1
    Les ou (OR) sont comparable à
    0+1=1
    Reprenons ta formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If (Cells(i, 13) = 1 And Cells(i, 15) <> 0) Or (Cells(i, 13) = 1 And Cells(i, 15) <> 5) Then
    ‘Cells(i, 13)=1  -> Cells(i, 15)=0If (Cells(i, 13) = 1 And Cells(i, 15) <> 0)
    ‘Cells(i, 13) * Cells(i, 15) =0
    ‘Cells(i, 13) = 1 And Cells(i, 15) <> 5  Si nous regardons l’équation précédant on  voie bien que ce n’est ‘pas la même chose !
    'Puisque  ce n’est pas la même chose le ou (or) =1
    If Cells(i, 13 = 1 And  Cells(i, 15) <> 0 AND Cells(i, 15) <> 5 Then
    Dernière modification par AlainTech ; 13/06/2013 à 03h09. Motif: Balises [code], pas [quote]

  5. #5
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 94
    Par défaut
    Ce que je lis :
    Si Cellule1 est égale à 1 et Cellule2 n'est pas égale à 0
    OU
    Si Cellule1 est égale à 1 et Cellule2 n'est pas égale à 5

    Es-tu sûr que tes cellules respectent ces conditions ? Une condition ne bug jamais, ce sont toujours les variables qui ne sont pas bonnes. Sinon tu peux raccourcir un peu la condition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 13) = 1 And Not (Cells(i, 15) = 0 Or Cells(i, 15) = 5) Then
    Elle signifie exactement la même chose que la tienne, elle vérifie si Cellule1 vaut bien 1 et si Cellule2 ne vaut pas 0 ou 5.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 35
    Par défaut
    Merci à vous tous, vous êtes top !!

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

Discussions similaires

  1. [PHP 5.3] Boucle for avec les mois (Janvier..)
    Par beegees dans le forum Langage
    Réponses: 2
    Dernier message: 26/12/2009, 15h33
  2. URL rewriting (problème avec les mots-clés)
    Par Creanet dans le forum Apache
    Réponses: 2
    Dernier message: 23/11/2009, 19h53
  3. Les mots clés and, or et not
    Par Arwel dans le forum Langage
    Réponses: 8
    Dernier message: 26/10/2009, 14h54
  4. agscloud avec les mots clés les plus recherchés
    Par kadiato dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/02/2009, 18h14

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