Microsoft 365 Formule si avec conditions multiples dans colonnes discontinues

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mamiss

XLDnaute Nouveau
Bonjour,

J'ai besoin de votre aide pour me calculer un état d'avancement sur un fichier, voici l'explication:
1. dans la colonne A, j'ai le statut global de ma ligne. Les statuts sont les suivants:
- A Traiter
- En cours
- Traité
2. dans les colonnes C, E, G et I j'ai mes statuts intermédiaire qui peuvent donc être A Traiter, En cours ou Traité. Mes conditions:
- Si au moins une des 4 colonnes C E G ou I contiennent le mot "Traité", ou "En cours", alors la le statut global de la ligne = En cours
- Si toutes les colonnes sont égal au même statut, alors le statut global est égal au statut des colonnes
- Si toutes les cellules sont vides, alors A Traiter.

Voici un fichier qui illustre ma demande

Merci énormément pour l'aide
 

Pièces jointes

Solution
Si l'on veut pouvoir modifier la casse il suffit d'utiliser la fonction MINUSCULE :
Code:
=REPT("A traiter";ESTERR(CHERCHE("En cours";C2&E2&G2&I2))*ESTERR(CHERCHE("Traité";C2&E2&G2&I2)))&REPT("En cours";OU(ESTNUM(CHERCHE("En cours";C2&E2&G2&I2));ESTNUM(CHERCHE("Traité";C2&E2&G2&I2))*(NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(MINUSCULE(C2&E2&G2&I2);"traité";))<24)))&REPT("Traité";NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(MINUSCULE(C2&E2&G2&I2);"traité";))=24)
A condition de ne pas utiliser les 3 mots clés en colonnes D F H, formule en A2 :
Code:
=REPT("A traiter";NON(NB.SI(C2:I2;"En cours")+NB.SI(C2:I2;"Traité")))&REPT("En cours";OU(NB.SI(C2:I2;"En cours");NB.SI(C2:I2;"Traité")*(NB.SI(C2:I2;"Traité")<4)))&REPT("Traité";NB.SI(C2:I2;"Traité")=4)
 

Pièces jointes

Bonjour,

Merci énormément pour ce travail. Malheureusement les mots clés peuvent se retrouver dans les autres colonnes. Du coup, la formule doit prendre en compte strictement ces colonnes. Encore une contrainte supplémentaire : les cellules vides ne doivent pas être considérées. En gros, si l'un des 4 cellules contient un mot clé et que les autres sont vides, alors le statut global = mot clé

Je te remercie encore une fois pour l'aide et teste également avec des formules si. J'ai réussi à le faire avec une formule si.conditions imbriqués avec des et et des ou mais le seul problème c'est que mes colonnes doivent avec l'une à la suite de l'autre.
 
Puisqu'on ne peut pas utiliser NB.SI on peut traiter les chaînes concaténées comme C2&E2&G2&I2.

Formule en A2 :
Code:
=REPT("A traiter";ESTERR(CHERCHE("En cours";C2&E2&G2&I2))*ESTERR(CHERCHE("Traité";C2&E2&G2&I2)))&REPT("En cours";OU(ESTNUM(CHERCHE("En cours";C2&E2&G2&I2));ESTNUM(CHERCHE("Traité";C2&E2&G2&I2))*(NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(C2&E2&G2&I2;"Traité";))<24)))&REPT("Traité";NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(C2&E2&G2&I2;"Traité";))=24)
Notez que la casse doit être respectée pour le mot "Traité" à cause de la fonction SUBSTITUE.
 

Pièces jointes

Si l'on veut pouvoir modifier la casse il suffit d'utiliser la fonction MINUSCULE :
Code:
=REPT("A traiter";ESTERR(CHERCHE("En cours";C2&E2&G2&I2))*ESTERR(CHERCHE("Traité";C2&E2&G2&I2)))&REPT("En cours";OU(ESTNUM(CHERCHE("En cours";C2&E2&G2&I2));ESTNUM(CHERCHE("Traité";C2&E2&G2&I2))*(NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(MINUSCULE(C2&E2&G2&I2);"traité";))<24)))&REPT("Traité";NBCAR(C2&E2&G2&I2)-NBCAR(SUBSTITUE(MINUSCULE(C2&E2&G2&I2);"traité";))=24)
 

Pièces jointes

Bonjour Job75,
Encore merci pour le temps consacré. Je viens de tester et malheureusement des cas qui ne rentrent pas en compte. Avec la formule, je suis obligée d'avoir tous les 4 champs renseignés et malheureusement, les 4 cellules ne sont pas obligatoires, la dernière peut être vide.
 
Bonjour Mamiss, le forum,
je suis obligée d'avoir tous les 4 champs renseignés et malheureusement, les 4 cellules ne sont pas obligatoires, la dernière peut être vide.
Que dites-vous là ? Sur mon fichier I4 I6 I7 I8 sont vides !!!
J'ai fini par appliqué une fonction si imbriqué et ça fonctionne.
Avec les fonctions REPT on évite les fonctions SI qui "pèsent" plus lourd en mémoire.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
99
Réponses
10
Affichages
583
Réponses
3
Affichages
484
Retour