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 :

Formule Comparaison entre 3 formules


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut Formule Comparaison entre 3 formules
    Bonjour,

    Je dois vérifier des conditions dans ma feuille de calcul :

    Cellule D1
    Cellule D2
    Cellule D3

    Dans ces 3 cellules je dois avoir 2 valeur sur 3 de différente exemple D1=aaa D2=bbb D3=ccc ou D1=aaa D2=bbb D3=aaa ou D1=aaa D2=bbb D3=bbb j'ai essayé avec l'opérateur de comparaison <> et le = dans ma formule mais cela ne fonctionne pas.

    Cordialement

  2. #2
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par mickaeldu45 Voir le message
    Bonjour,

    Dans ces 3 cellules je dois avoir 2 valeur sur 3 de différente
    Si je comprends bien, tu ne dois pas avoir les 3 valeurs identiques ? Mais toutes les autres combinaisons conviennent ?
    Dans ce cas :
    Remarque : ne tient pas compte de la casse, c'est-à-dire que "aaa" est considéré comme égal à "AAA".
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    La validation de données est un très bon outil pour tester la valeur d'une cellule.
    En revanche, elle n'est pas adaptée pour plusieurs cellule. La raison est simple : on ne peut pas saisir plusieurs cellules en même temps.
    Et il est difficile (mais pas totalement impossible) de demander à la validation de données d'attendre que les trois valeurs aient été saisies pour les comparer.

    La solution qui me semble la plus appropriée dans ton cas est une macro évènementielle, par exemple Workbook_BeforeSave empêchant la sauvegarde si les conditions voulues ne sont pas remplie.

    Une solution plus légère pourrait être d'utiliser la mise en forme conditionnelle, mettant ces trois cellules en fond rouge tant que la condition n'est pas remplie.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    La solution de catapoulpe me convient, mais maintenant je suis confronter à une situation différente : 4 cellules avec 3 valeurs sur 4 de différente donc je ne dois pas avoir les 4 valeurs identiques mais toutes les autres combinaisons sont accepter ; et j'aurais aussi le cas suivant : 5 cellules avec 4 valeurs sur 5 de différente donc je ne dois pas avoir les 5 valeurs identiques mais toutes les autres combinaisons sont accepter.

    peut'on adapter la solution de catapoulpe à tout mes cas ou quelqu'un à t'il une meilleur solution?

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Si je comprends bien, tu ne dois pas avoir les 3 valeurs identiques ? Mais toutes les autres combinaisons conviennent ?
    Dans ce cas :
    Remarque : ne tient pas compte de la casse, c'est-à-dire que "aaa" est considéré comme égal à "AAA".

  5. #5
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par Menhir Voir le message
    La validation de données est un très bon outil pour tester la valeur d'une cellule.
    En revanche, elle n'est pas adaptée pour plusieurs cellule. La raison est simple : on ne peut pas saisir plusieurs cellules en même temps.
    Et il est difficile (mais pas totalement impossible) de demander à la validation de données d'attendre que les trois valeurs aient été saisies pour les comparer.

    La solution qui me semble la plus appropriée dans ton cas est une macro évènementielle, par exemple Workbook_BeforeSave empêchant la sauvegarde si les conditions voulues ne sont pas remplie.

    Une solution plus légère pourrait être d'utiliser la mise en forme conditionnelle, mettant ces trois cellules en fond rouge tant que la condition n'est pas remplie.
    Si la validation de saisie est de ce que recherche mickaeldu45, la formule que j'ai proposée fonctionne. Seulement, la saisie sera interdite uniquement à partir de la 3ème saisie identique. Par exemple on pourra saisir "a" en D1, puis "a" en D2, mais si on essaie de saisir "a" en D3, on aura le message d'alerte. Il faudra bien sûr prendre soin d'utiliser des références absolues dans le deuxième membre de l'inégalité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Appliquer à la plage D1:D3 la formule de validation suivante :
    =D1&D1&D1<>$D$1&$D$2&$D$3
    Ça fonctionne aussi pour quatre (ou cinq ou plus) cellules, il faut juste concaténer D1 quatre (ou cinq ou plus) fois d'un côté de l'inégalité et concaténer les quatre (ou cinq ou plus) cellules en références absolues de l'autre côté de l'inégalité.

    Par contre mickaeldu45 lorsque tu écris "4 cellules avec 3 valeurs sur 4 de différente" pour moi ça ne signifie pas la même chose que "je ne dois pas avoir les 4 valeurs identiques mais toutes les autres combinaisons sont accepter". Si ma formule te convient, sache que je l'ai écrite en me basant sur la deuxième phrase et pas sur la première.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Catapoulpe je ne comprends pas j'ai essayé ta formule mais cela ne fonctionne pas j'ai essayé avec 4 cellules et sa ne va pas on ne se comprend peut être pas, je joint un fichier avec les combinaison qui sont acceptées (précision les lettres aaa bbb ccc ddd sont en fait des noms de personne qui seront rentrée aléatoirement par les utilisateurs de mon classeur, c'est pour cela que je dois comparer les valeurs en utilisant le nom de la cellule et non en comparant les valeurs contenues dans les cellules) j’espère que c'est plus claire. Dans mon fichier JE VOUDRAIS QUE SI L'UNE DES COMBINAISON OK EST VERIFIE ALORS F10 AFFICHE VRAI. Je précise je n'ai aucune connaisance en VBA donc si quelqu'un me propose une solution en VBA il faut me guider.

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Si la validation de saisie est de ce que recherche mickaeldu45, la formule que j'ai proposée fonctionne. Seulement, la saisie sera interdite uniquement à partir de la 3ème saisie identique. Par exemple on pourra saisir "a" en D1, puis "a" en D2, mais si on essaie de saisir "a" en D3, on aura le message d'alerte. Il faudra bien sûr prendre soin d'utiliser des références absolues dans le deuxième membre de l'inégalité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Appliquer à la plage D1:D3 la formule de validation suivante :
    =D1&D1&D1<>$D$1&$D$2&$D$3
    Ça fonctionne aussi pour quatre (ou cinq ou plus) cellules, il faut juste concaténer D1 quatre (ou cinq ou plus) fois d'un côté de l'inégalité et concaténer les quatre (ou cinq ou plus) cellules en références absolues de l'autre côté de l'inégalité.

    Par contre mickaeldu45 lorsque tu écris "4 cellules avec 3 valeurs sur 4 de différente" pour moi ça ne signifie pas la même chose que "je ne dois pas avoir les 4 valeurs identiques mais toutes les autres combinaisons sont accepter". Si ma formule te convient, sache que je l'ai écrite en me basant sur la deuxième phrase et pas sur la première.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Citation Envoyé par mickaeldu45 Voir le message
    Catapoulpe je ne comprends pas j'ai essayé ta formule mais cela ne fonctionne pas j'ai essayé avec 4 cellules et sa ne va pas on ne se comprend peut être pas, je joint un fichier avec les combinaison qui sont acceptées
    Qu'est-ce qui ne fonctionne pas, au juste ?
    Effectivement, il n'est pas évident de saisir ce que tu cherches à faire. A la lecture de ton premier message, Menhir et moi avons compris deux demandes assez différentes...

    Citation Envoyé par mickaeldu45 Voir le message
    (précision les lettres aaa bbb ccc ddd sont en fait des noms de personne
    Le fait qu'il s'agisse de noms de personnes, de plantes carnivores, de nombres, de valeurs logiques (VRAI ou FAUX) ou même d'un mélange de tout cela ne change rien au fonctionnement de la formule. Le problème ne vient pas de là.

    Citation Envoyé par mickaeldu45 Voir le message
    qui seront rentrée aléatoirement par les utilisateurs de mon classeur,
    Ah ? et comment vas-tu t'assurer que les utilisateurs vont saisir les noms avec une orthographe parfaitement identique ? Si quelqu'un écrit "Antoine de Saint-Exupéry" et quelqu'un d'autre écrit "Antoine de Saint Exupéry", ces deux valeurs ne seront pas reconnues comme identiques. Cela n'est pas un problème ?

    Citation Envoyé par mickaeldu45 Voir le message
    c'est pour cela que je dois comparer les valeurs en utilisant le nom de la cellule et non en comparant les valeurs contenues dans les cellules)
    Oui... c'est ce qu'on fait en général...

    Citation Envoyé par mickaeldu45 Voir le message
    j’espère que c'est plus claire. Dans mon fichier JE VOUDRAIS QUE SI L'UNE DES COMBINAISON OK EST VERIFIE ALORS F10 AFFICHE VRAI. Je précise je n'ai aucune connaisance en VBA donc si quelqu'un me propose une solution en VBA il faut me guider.

    Cordialement
    Ok, on devrait y arriver...

    Pour comparer trois valeurs. J'ai mis trois exemples pour montrer le fonctionnement de la formule.
    Nom : Comparaison 3val.jpeg
Affichages : 225
Taille : 42,1 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pour comparer les cellules D1 D2 et D3 et afficher VRAI en F1 uniquement si elles ne contiennent pas trois fois la même valeur, il faut saisir en F1 :
    =D1&D1&D1<>D1&D2&D3

    Pour comparer cinq valeurs c'est exactement le même principe.
    Nom : Comparaison 5val.jpeg
Affichages : 247
Taille : 52,5 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pour comparer les cellules D1 à D5 et afficher VRAI en F1 uniquement si elles ne contiennent pas cinq fois la même valeur, il faut saisir en F1 :
    =D1&D1&D1&D1&D1<>D1&D2&D3&D4&D5
    Je n'ai pas ouvert le fichier joint... mais une copie d'écran bien préparée devrait suffire à illustrer ta question.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Pour répondre aux question :

    Ah ? et comment vas-tu t'assurer que les utilisateurs vont saisir les noms avec une orthographe parfaitement identique ? Si quelqu'un écrit "Antoine de Saint-Exupéry" et quelqu'un d'autre écrit "Antoine de Saint Exupéry", ces deux valeurs ne seront pas reconnues comme identiques. Cela n'est pas un problème car les utilisateurs utiliseront une liste de choix déroulante

    Je joint une capture d'écran avec une explication de ce que je désire :

    Nom : Sans titre.png
Affichages : 275
Taille : 100,0 Ko

    Alors la cellule A23 est celle qui dois afficher une valeur si toutes mes conditions sont réunies : =SI(ET(J4<>"";J4<>"Neutre";D24<>"";D25<>"";D26<>"";D27<>"";D24="FRANCE";D25="FRANCE";D26="FRANCE";D27="FRANCE";L24<>"";L25<>"";L26<>"";L27<>"";POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN;Q24="Obtenu";Q25="Obtenu";Q26="Obtenu";Q27="Obtenu";A16="Double Champion");"Triple Champion";"")

    POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN :

    Nom : Sans titre1.png
Affichages : 301
Taille : 5,4 Ko
    NB: la lecture se fait ligne par ligne et les valeurs AAA BBB CCC DDD sont en fait remplacer par une liste déroulante de choix c'est pour cela que je dois comparer avec le nom des cellules et non avec leur contenu car se sont les utilisateurs qui entreront les infos via la liste déroulante


    c'est donc ici que je bloque, pour que A23 affiche Triple Champion je dois vérifier que J4 n'est pas vide et que J4 est différent de Neutre et que D24 D25 D26 D27 n'est pas vide et que D24 D25 D26 D27 est égal à FRANCE et que L24 L25 L26 L27 n'est pas vide et L24 L25 L26 L27 dois contenir l'une des combinaison présente dans la copie d'écran juste au dessus et que Q24 Q25 Q26 Q27 est égal à Obtenu et que A16 est égal à Double Champion

    L24 L25 L26 L27 dois contenir l'une des combinaison présente dans la copie d'écran juste au dessusgrâce à cela je vérifie que j'ai bien 4 certificat Obtenu en FRANCE avec 3 juges différents.

    J'espère que la tout est claire j'ai fait de mon mieux pour expliquer

    Cordialement

  9. #9
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    D'accord, ce n'est pas ce que j'avais compris. Ce coup-ci, avec ta copie d'écran, je crois (j'espère) que j'y suis.

    En ce qui concerne la saisie des noms, s'il y a une liste déroulante, je n'appellerais pas cela saisie aléatoire... pas de risque de différences d'orthographe, ça c'est ok.

    En ce qui concerne la condition qui te pose problème, si je comprends bien : qu'il y ait 3 certificats (ta première question), ou 4 (Certificat pour le grand championnat international de beauté), ou 5 (Certificat championnat d'Europe), un seul juge au plus sur les 3 (ou 4 ou 5) peut apparaître deux fois. J'ai pu obtenir ce résultat à l'aide d'une formule matricielle. Je l'ai testée "toute seule" et n'ai pas encore essayé de l'introduire dans ta longue formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Avec les quatre juges en L24:L27
    =SOMME(NB.SI($L$24:$L$27;L24:L27))<7
    A valider avec la combinaison ctrl+maj+entrée car il s'agit d'une formule matricielle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Avec les cinq juges en L32:L36
    =SOMME(NB.SI($L$32:$L$36;L32:L36))<8
    A valider avec la combinaison ctrl+maj+entrée
    Je regarderai le reste un peu plus tard. Essaie déjà ces formules et dis-moi si ça convient.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  10. #10
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Je vais reprendre une par une les conditions de ta formule en A23

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =SI(ET(J4<>"";J4<>"Neutre";D24<>"";D25<>"";D26<>"";D27<>"";D24="FRANCE";D25="FRANCE";D26="FRANCE";D27="FRANCE";
    L24<>"";L25<>"";L26<>"";L27<>"";POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN;
    Q24="Obtenu";Q25="Obtenu";Q26="Obtenu";Q27="Obtenu";A16="Double Champion");"Triple Champion";"")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =ET(J4<>"";J4<>"Neutre")
    ok
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =ET(D24<>"";D25<>"";D26<>"";D27<>"";D24="FRANCE";D25="FRANCE";D26="FRANCE";D27="FRANCE")
    Il est inutile de préciser que les cellules ne doivent pas êtres vides : si la condition D24="FRANCE" est vraie, alors la condition D24<>"" est forcément vraie.
    Pour cette condition, tu peux remplacer par
    =NB.SI(D24:D27;"France")=4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =ET(L24<>"";L25<>"";L26<>"";L27<>"";POUR CETTE PARTIE DE FORMULE VOIRE LA PROCHAINE CAPTURE D'ECRAN)
    La formule que je t'ai proposée ne permet pas de vérifier que les cellules L24 à L27 ne sont pas vides. Je l'ai donc légèrement modifiée :
    {=ET(SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0)} formule matricielle à saisir sans les accolades et valider par ctrl+shift+entrée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =ET(Q24="Obtenu";Q25="Obtenu";Q26="Obtenu";Q27="Obtenu")
    Là aussi, inutile d'énumérer. A remplacer par
    =NB.SI(Q24:Q27;"Obtenu")=4
    Ta formule en A23 devient donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {=SI(ET(J4<>"";J4<>"Neutre";NB.SI(D24:D27;"FRANCE")=4;SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0;NB.SI(Q24:Q27;"Obtenu")=4;A16="Double champion");"Triple Champion;"")}
    A saisir sans les accolades et valider par ctrl+alt+entrée
    Citation Envoyé par mickaeldu45 Voir le message
    les valeurs AAA BBB CCC DDD sont en fait remplacer par une liste déroulante de choix c'est pour cela que je dois comparer avec le nom des cellules et non avec leur contenu car se sont les utilisateurs qui entreront les infos via la liste déroulante
    Cette considération me semble évidente, ou alors je n'en ai pas saisi le sens. Quelle que soit l'origine de la valeur dans les cellules à comparer (une liste déroulante, le résultat d'une formule, un copier/coller, une saisie au clavier), on préfèrera le plus souvent insérer dans les formules les références des cellules (L24, L25 etc) plutôt que les valeurs qu'elles contiennent ("Juge Untel", "Juge Bidule" etc.)
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Tout d'abord un grand merci à toi catapoulpe pour cette solution j'ai adapté un petit pas ta proposition :

    Dans la cellule A23 j'ai entré cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =SI(ET(J4<>"";J4<>"Neutre";NB.SI(D24:D27;"FRANCE")=4;R23="VRAI";NB.SI(Q24:Q27;"Obtenu")=4;A16="Double Champion");"Triple Champion";
    SI(ET(J4<>"";J4="Neutre";NB.SI(D24:D27;"FRANCE")=4;R23="VRAI";NB.SI(Q24:Q27;"Obtenu")=4;A16="Double Prémior");"Triple Prémior";""))
    La cellule R23 contient cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=SI(ET(SOMME(NB.SI($L$24:$L$27;L24:P27))<7;NB.SI(L24:L27;"")=0);"VRAI";"")}
    Donc avec cela je vérifie les conditions d’obtention des titres de Triple Champion ou Triple Prémior qui correspond à des titres nationaux, je voudrais faire de même pour les titres internationaux mais j'ai un souci avec cette méthode :

    Nom : Sans titre2.png
Affichages : 266
Taille : 18,2 Ko

    Pour l'international j'ai besoin de 4 Certificats dont 1 à l'étranger avec 3 juges différents, Pour les pays D2426=FRANCE et la ligne rouge est là pour différencier le certificat étranger donc D28 doit être différent de FRANCE et Q24:Q26=Obtenu et Q28=Obtenu et un seul juge au plus sur les 4 peut apparaître deux fois. La cellule Q23 est celle qui dois contenir l'obtention du titre. Et je veut utiliser la celulle S23 dois contenir la formule permettant de valider la condition un seul juge au plus sur les 4 peut apparaître deux fois avec la formule : {=SI(ET(SOMME(NB.SI())<7;NB.SI(;"")=0);"VRAI";"")}

    Le problème est que la plage est coupé par une ligne vide (ligne 27) qui peut rester vierge pour l'obtention du titre international, comment dois je faire pour utiliser cette méthode avec ce problème de ligne qui peut rester vide.

    Cordialement


    Citation Envoyé par catapoulpe Voir le message
    D'accord, ce n'est pas ce que j'avais compris. Ce coup-ci, avec ta copie d'écran, je crois (j'espère) que j'y suis.

    En ce qui concerne la saisie des noms, s'il y a une liste déroulante, je n'appellerais pas cela saisie aléatoire... pas de risque de différences d'orthographe, ça c'est ok.

    En ce qui concerne la condition qui te pose problème, si je comprends bien : qu'il y ait 3 certificats (ta première question), ou 4 (Certificat pour le grand championnat international de beauté), ou 5 (Certificat championnat d'Europe), un seul juge au plus sur les 3 (ou 4 ou 5) peut apparaître deux fois. J'ai pu obtenir ce résultat à l'aide d'une formule matricielle. Je l'ai testée "toute seule" et n'ai pas encore essayé de l'introduire dans ta longue formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Avec les quatre juges en L24:L27
    =SOMME(NB.SI($L$24:$L$27;L24:L27))<7
    A valider avec la combinaison ctrl+maj+entrée car il s'agit d'une formule matricielle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Avec les cinq juges en L32:L36
    =SOMME(NB.SI($L$32:$L$36;L32:L36))<8
    A valider avec la combinaison ctrl+maj+entrée
    Je regarderai le reste un peu plus tard. Essaie déjà ces formules et dis-moi si ça convient.

  12. #12
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Pour ta formule en A23, tu peux faire nettement plus simple. En effet pour avoir "Triple Champion" ou "Triple Premior", les conditions sont exactement identiques sauf une : la valeur en A16. Il faut donc dans un premier temps vérifier les conditions identiques, puis à l'aide du deuxième SI vérifier ce que contient A16. En A23 je te propose donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {=SI(ET(J4<>"";J4<>"Neutre";NB.SI(D24:D27;"France")=4;SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0;NB.SI(Q24:Q27;"Obtenu")=4);SI(NB.SI(A16;"Double *");"Triple"&STXT(A16;7;10);"");"")}
    En matriciel
    Pour l'international je verrai plus tard.

    Stp mets tes formules entre balises Code car sinon elles sont peu lisibles (ça affiche plein de smileys).
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Ta formule est nettement plus simple mais il y a juste un détail, tu dis en effet pour avoir "Triple Champion" ou "Triple Premior", les conditions sont exactement identiques sauf une mais si tu regarde dans ma formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =SI(ET(J4<>"";J4<>"Neutre";NB.SI(D24:D27;"FRANCE")=4;R23="VRAI";NB.SI(Q24:Q27;"Obtenu")=4;A16="Double Champion");"Triple Champion";
    SI(ET(J4<>"";J4="Neutre";NB.SI(D24:D27;"FRANCE")=4;R23="VRAI";NB.SI(Q24:Q27;"Obtenu")=4;A16="Double Prémior");"Triple Prémior";""))
    les conditions sont les même sauf deux : la valeur en A16 (Double Champion ou Double Prémior) mais il y a aussi la valeur J4 quand J4 est égal à Mâle ou Femelle alors on affiche le mot champion et si J4 est égal à Neutre alors on affiche le mot Prémior et J4 ne dois pas être vide.

    Sinon ta formule est vraiment plus courte que la mienne

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Pour ta formule en A23, tu peux faire nettement plus simple. En effet pour avoir "Triple Champion" ou "Triple Premior", les conditions sont exactement identiques sauf une : la valeur en A16. Il faut donc dans un premier temps vérifier les conditions identiques, puis à l'aide du deuxième SI vérifier ce que contient A16. En A23 je te propose donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(J4<>"";J4<>"Neutre";NB.SI(D24:D27;"France")=4;SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0;NB.SI(Q24:Q27;"Obtenu")=4);SI(NB.SI(A16;"Double *");"Triple"&STXT(A16;7;10);"");"")
    Pour l'international je verrai plus tard.

    Stp mets tes formules entre balises Code car sinon elles sont peu lisibles (ça affiche plein de smileys).

  14. #14
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Ah. J'avais loupé cette différence. Ça donne une formule un peu moins sympa. Je te propose celle-ci, il y a probablement plus économique et/ou robuste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {=SI(ET(NB.SI(D24:D27;"France")=4;SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0;NB.SI(Q24:Q27;"Obtenu")=4;J4<>"");
    SI(ET(A16="Double premior";J4="Neutre");"Triple premior";SI(ET(A16="Double Champion";J4<>"Neutre");"Triple champion";""));"")}
    toujours en matriciel
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Cette solution me convient on laisse comme sa, maintenant je vais essayé de mon coté de l'adapter au parcours international mais je ne sais pas comment gérer cette ligne qui peut rester vierge. En tout cas merci à toi catapoulpe et si tu trouve une solution pour le parcours international ben je te remercie d'avance.

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Ah. J'avais loupé cette différence. Ça donne une formule un peu moins sympa. Je te propose celle-ci, il y a probablement plus économique et/ou robuste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {=SI(ET(NB.SI(D24:D27;"France")=4;SOMME(NB.SI($L$24:$L$27;L24:L27))<7;NB.SI(L24:L27;"")=0;NB.SI(Q24:Q27;"Obtenu")=4;J4<>"");
    SI(ET(A16="Double premior";J4="Neutre");"Triple premior";SI(ET(A16="Double Champion";J4<>"Neutre");"Triple champion";""));"")}
    toujours en matriciel

  16. #16
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Ok.
    Au vu des conditions qui s'ajoutent au fur et à mesure de tes messages, il me semble qu'il serait avantageux de repenser l'organisation du fichier. En effet, parti comme cela, tu auras bientôt des formules à rallonge dans tous les sens et la moindre modification risque de devenir un vrai casse-tête. Sans parler du manque de robustesse qui, si le fichier est utilisé par d'autres personnes (c'est bien son but ?), risque de faire perdre en dépannage le temps qu'il était censé faire gagner...
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Alors le parcour international est le dernier problème au niveau des conditions, au niveau du fichier l'organisation est bonne, pour les formules depuis que tu as fait tes propositions elles ont été divisé par 2, il n'y aura pas de modification. Effectivement le fichier va être utilisé par d'autres personnes mais toutes les cellules à formules seront verrouillé et masqué avec protection de la feuille par MdP. Donc vraiment le parcours international est la dernière condition, mais je ne vois toujours pas comment faire.

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Ok.
    Au vu des conditions qui s'ajoutent au fur et à mesure de tes messages, il me semble qu'il serait avantageux de repenser l'organisation du fichier. En effet, parti comme cela, tu auras bientôt des formules à rallonge dans tous les sens et la moindre modification risque de devenir un vrai casse-tête. Sans parler du manque de robustesse qui, si le fichier est utilisé par d'autres personnes (c'est bien son but ?), risque de faire perdre en dépannage le temps qu'il était censé faire gagner...

  18. #18
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    Voici une formule pour vérifier la condition un seul juge sur les quatre peut apparaître deux fois, avec les noms des juges en L24:L26 et L28.
    Cette formule ne tient aucun compte de ce qu'il y a à la ligne 27.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {=ET(SOMME(NB.SI(L24:L26;L24:L26))<SI(NB.SI(L24:L26;L28);4;6);NB.SI(L24:L26;"")=0;L28;L28<>"")}
    en matriciel
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Electricien
    Inscrit en
    Mai 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 56
    Points : 22
    Points
    22
    Par défaut
    Bonjour catapoulpe merci pour cette formule, j'ai donc essayé de l'intégrer mais j'ai une erreur voici ce que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =SI(ET(J4<>"";NB.SI(D24:D27;"France")=4;SOMME(NB.SI(L24:L26;L24:L26))<SI(NB.SI(L24:L26;L28);4;6);NB.SI(L24:L26;"")=0;L28;L28<>"");NB.SI(Q24:Q27;"Obtenu")=4);
    SI(ET(J4<>"Neutre";A16="Champ. Inter.");"Grd. Champion Inter.";SI(ET(J4="Neutre";A16="Prémior Inter.");"Grd. Prémior Inter.";""));"")
    Au moment de validé excel me renvoi le message "nous avons rencontré une erreur dans cette formule" je ne comprends pas pourquoi

    Cordialement

    Citation Envoyé par catapoulpe Voir le message
    Voici une formule pour vérifier la condition un seul juge sur les quatre peut apparaître deux fois, avec les noms des juges en L24:L26 et L28.
    Cette formule ne tient aucun compte de ce qu'il y a à la ligne 27.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    {=ET(SOMME(NB.SI(L24:L26;L24:L26))<SI(NB.SI(L24:L26;L28);4;6);NB.SI(L24:L26;"")=0;L28;L28<>"")}
    en matriciel

  20. #20
    Membre actif
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Points : 264
    Points
    264
    Par défaut
    J'ai trouvé une erreur dans ma formule, mais ce n'est pas cette erreur qui pose problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {=ET(SOMME(NB.SI(L24:L26;L24:L26))<SI(NB.SI(L24:L26;L28);4;6);NB.SI(L24:L26;"")=0;L28;L28<>"")}
    en matriciel
    A remplacer par :
    {=ET(SOMME(NB.SI(L24:L26;L24:L26))<SI(NB.SI(L24:L26;L28);4;6);NB.SI(L24:L26;"")=0;L28<>"")}
    en matriciel
    J'ai testé ta formule (un peu rapidement) : lorsque le message "nous avons rencontré une erreur dans cette formule" s'affiche, le curseur va se positionner à l'endroit de la formule qui pose problème (en l'occurrence un argument en trop à la fin de la formule).

    Une fois cette erreur corrigée, la formule donne une erreur "#VALEUR". Chaque morceau pris indépendamment semble fonctionner. Il y a un outil qui vérifie les formules pas à pas (mais je ne l'ai pas dans ma version), ça devrait pouvoir te pointer ce qui cloche. Je débute avec les formules matricielles, dont certains aspects sont encore flous pour moi. Peut-être que les plages utilisées posent problème ?

    Et je vois d'ici venir les ennuis : le bout de formule que je te propose pour résoudre un problème donné (la ligne 27 est vide) ne sert à rien si tu veux dans certains cas utiliser la ligne 27.

    Cette approche n'est pas efficace. Tu as commencé par nous soumettre une situation "simple" (trois noms de juges dans 3 cellules contiguës) que j'ai pu résoudre en l'abordant d'une certaine manière. En modifiant les conditions du départ, la manière dont j'ai abordé le problème devient caduque et je dois trouver une autre manière de l'aborder. Donc le travail effectué pour résoudre ton premier problème n'est pas utilisable par la suite. Et il en va de même à chaque ajout de conditions.

    A un moment il faut détailler soigneusement les combinaisons possible, et toutes les conditions à réunir pour tel ou tel résultat. Si c'est complexe comme dans ton fichier, eh bien il faut y passer du temps. Une fois qu'on a bien défini TOUT ce qu'il faut prendre en compte, on peut commencer à travailler... C'est du moins ma manière d'aborder ce genre de problèmes.
    Chez moi : XL-MAC 2011, pas de VBA.
    C'est en bûchant qu'on devient bûcheron.
    C'est en mouchant qu'on devient moucheron.

Discussions similaires

  1. Probleme de formule comparaison dates
    Par lisandro69100 dans le forum Excel
    Réponses: 7
    Dernier message: 18/03/2011, 16h29
  2. [XL-2007] Formule "compris entre" mise en forme conditionnel
    Par Elo0174 dans le forum Excel
    Réponses: 9
    Dernier message: 22/06/2009, 17h59
  3. Réponses: 3
    Dernier message: 30/10/2008, 11h46
  4. Réponses: 16
    Dernier message: 08/05/2008, 11h18
  5. Différence entre deux formules
    Par solorac dans le forum Excel
    Réponses: 5
    Dernier message: 23/05/2007, 08h57

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