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

Excel Discussion :

Condition IF - Formule


Sujet :

Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Condition IF - Formule
    Bonjour,

    J'ai deux cellules.

    1: Liste déroulante avec Oui et Non
    2. Champ numérique

    Les conditions qui doivent être respectées sont :

    SI Cellule F4 = " " : Erreur

    SI Cellule F4 = "OUI" et Cellule G4 = "" : Erreur

    Si Cellule F4 = "NON et Cellule G4 est < > " " : Erreur

    J'ai traduis cela de cette façon dans une formule :

    Qu'est-ce qui me manque ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(ET(F4 = "OUI ";G4 = "");VRAI;FAUX)
    Merci!

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Hello
    en fait il te manque des OU à imbriquer.

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =NON(OU(F4=" ";ET(F4="OUI";G4="");ET(F4="NON";G4<>" ")))

    Après, je n'ai pas compris ce que tu voulais dire par liste déroulante et champ numérique, ni en quoi ton test interfère avec ladite liste ou lesdites valeurs numériques.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci pour la formule.

    J'ai ajouté ces conditions :
    Est-ce que vous pouvez modifier la formule ? Merci!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    SI F4 = " " : Erreur
    SI F4 = " " et G4 = "" : Erreur
     
    SI F4 = "OUI" et G4 = "" : Erreur
    SI F4 = "OUI" et G4 < > " " : OK
     
    Si F4 = "NON" et G4 est < > " " : Erreur
    Si F4 = "NON" et G4 est = " " : OK

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    La deuxième condition ne sert à rien puisque la première l'englobe.

    Ma formule renvoie FAUX pour les formules qui doivent renvoyer Erreur. Cela ne sert à rien de compléter en disant que les autres sont OK.

    Si tu veux mettre cela dans une cellule, la formule pourrait devenir ceci: =SI(OU(F4=" ";ET(F4="OUI";G4=" ");ET(F4="NON";G4<>" "));"Erreur";"OK").


    Attention que pour la troisième condition, tu parles de Ga = "", alors que pour la quatrième, tu parles de G4=" " (avec un espace, donc).

    Note que "" est différent de " ". Si tu veux tester que la cellule est vide, tu dois utiliser "" (sans espaces), sinon tu testes qu'il y a uniquement un espace dans la cellule. Pense à adapter la formule donnée en fonction de cette remarque.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Invité
    Invité(e)
    Par défaut
    Avec la formule suivante, j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(OU(F4=" ";ET(F4="OUI";G4=" ");ET(F4="NON";G4<>" "));"OK";"Erreur")


    J'ai testé la formule Il manquerait une condition pour que la formule soit parfaite.

    Voici :

    1. SI F4 = OUI et G4 est différent de vide, la formule m'indique un erreur mais ce devrait être OK

    2. SI F4 = NON et G4 est différent de vide, la formule m'indique OK mais ce devrait être Erreur


    Merci!!

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Comme je te l'ai dit dans mon précédent message, c'est un problème de "" et de " ". Tu mélanges déjà les deux dans ta demande initiale. Si ce que tu veux tester est le fait qu'une cellule soit vide, tu dois utiliser "" et pas " ", mais comme tu as mélangé les deux, on ne sait finalement plus ce que tu souhaites obtenir. Vu tes dernières explications, je vais partir sur du vide partout (et donc aussi pour F4 à la première condition).

    Pour résumer tes conditions en français:
    F4 ne peut pas être vide;
    Si F4 = "OUI", G4 doit être rempli;
    Si F4 = "NON", G4 doit être vide.


    Si ces conditions te conviennent, voici la formule:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(F4="";ET(F4="OUI";G4="");ET(F4="NON";G4<>""));"Erreur";"Ok")

    Pour éviter les hésitations sur les "", " " est compagnie, je privilégierais l'utilisation d'une fonction d'Excel qui spécifie explicitement qu'une cellule est vide ou pas:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(OU(ESTVIDE(F4);ET(F4="OUI";ESTVIDE(G4));ET(F4="NON";NON(ESTVIDE(G4))));"Erreur";"Ok")

    Nom : 2020-08-14_070915.png
Affichages : 140
Taille : 4,3 Ko




    Dans la logique des conditions que tu énumères, on pourrait penser que F4 ne peut prendre comme valeur que OUI ou NON. Je suppose que c'est cela que tu voulais dire en parlant de ta liste déroulante. Je suppose donc que ce cas est géré en dehors de la formule.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Invité
    Invité(e)
    Par défaut
    Super ça fonctionne!

    Est-ce qu'on peut identifier les cellules en erreur en rouge ou ça ne se fait avec cette méthode ?

    Merci!

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Oui, tu peux utiliser la formule suivante:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =OU($F4="";ET($F4="OUI";$G4="");ET($F4="NON";$G4<>""))

    Pour ce faire, tu sélectionnes la ou les cellules concernées (dans l'illustration, j'ai choisi F4:G4, mais tu pourrais choisir F4:G25 si tu as envie), en faisant attention que la cellule active de ta sélection soit celle du coin supérieur gauche, et tu rédiges ta formule par rapport à cette cellule (F4 dans mon exemple). Les $ ont ici toute leur importance.

    Nom : 2020-08-14_201159.png
Affichages : 137
Taille : 19,6 Ko


    Tu peux aussi, si tu gardes la formule dans la feuille pour indiquer Erreur ou OK, ne placer la mise en forme que sur cette cellule:

    Nom : 2020-08-15_080228.png
Affichages : 116
Taille : 21,4 Ko

    Nom : 2020-08-15_122156.png
Affichages : 113
Taille : 8,6 Ko
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [XL-2007] Appliquer une double condition à une formule
    Par pierre24 dans le forum Excel
    Réponses: 7
    Dernier message: 16/01/2019, 15h21
  2. [XL-2010] Condition sur formule matricielle
    Par lafafmentvotre dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2011, 15h38
  3. [XL-2010] Conditions dans formule
    Par lafafmentvotre dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/09/2010, 14h56
  4. Tirer les formules avec boucle et condition excel
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 19/10/2006, 15h11
  5. Réponses: 2
    Dernier message: 12/04/2006, 10h33

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