XL 2013 Remplissage d'une colonne selon la présence d'un ou plusieurs arguments sur une ligne

Cernunnos

XLDnaute Nouveau
Bonjour à toutes et à tous,

Oui, je pense que mon intitulé n'est pas très clair !
Voici donc l'élément qui me bloque...

Pour imager, je reçois un fichier excel correspondant à des résultats de diagnostic.
Chaque ligne correspond à un système, lui même divisé en sous-systèmes (colonnes) appelés ici "A", "B" et "C" .
Chaque sous-système est testé et peut renvoyer plusieurs erreurs.

Il y a plusieurs cas de figure :

- Tout est OK = pas d'intervention
- La ligne contient 1 ou plusieurs erreurs de niveau orange = intervention préventive
- La ligne contient 1 ou plusieurs erreurs de niveau rouge = intervention corrective
- La ligne contient 1 ou plusieurs erreurs orange et rouge = intervention préventive + corrective
et enfin, le dernier cas de figure le plus compliqué
- un sous-système contient une erreur orange et une erreur rouge, la cellule prendra la couleur de l'erreur la plus grave (rouge) mais le résultat doit être = intervention préventive + corrective

Alors, comment sont différenciées les erreurs ?
Les libellés des erreurs apparaissent en toutes lettres dans les cellules et contiennent un numéro d'erreur. Je connais bien sûr quel numéro correspond à quelle sévérité. Le test doit donc s'effectuer en fonction de la présence des numéros et non de la couleur de la case qui est déjà mise en forme dans le document source.

Un fichier excel vaut mieux qu'un long discours, je vous invite donc à jeter un oeil à mon exemple présent en pièce jointe. A savoir qu'en réalité j'ai 12 colonnes et plusieurs milliers de ligne. Je n'ai aucune maîtrise du VBA mais je ne demande pas forcément une solution toute prête, juste un peu de guidage pour m'y retrouver dans les fonctions à appeler.

Je vous remercie donc d'avance pour vos contribution, en espérant avoir été clair ;)
 

Pièces jointes

  • Classeur1.xlsx
    11 KB · Affichages: 31
  • Classeur1.xlsx
    11 KB · Affichages: 35

Victor21

XLDnaute Barbatruc
Re : Remplissage d'une colonne selon la présence d'un ou plusieurs arguments sur une

Bonjour, Cernunnos, et bienvenue sur XLD ;)
Bonjour, djidji59430.


La ligne 9 comporte les erreurs 100, 102 et 0101, toutes "orange". Pourquoi "Intervention préventive + corrective" ?
 

Victor21

XLDnaute Barbatruc
Re : Remplissage d'une colonne selon la présence d'un ou plusieurs arguments sur une

Re,

Une proposition en pj, si la ligne 9 comporte bien une erreur :

PHP:
=SI(ET(OU(ESTNUM(TROUVE($I$3:$I$7;$B3));ESTNUM(TROUVE($I$3:$I$7;$C3));ESTNUM(TROUVE($I$3:$I$7;$D3)));OU(ESTNUM(TROUVE($J$3:$J$7;$B3));ESTNUM(TROUVE($J$3:$J$7;$C3));ESTNUM(TROUVE($J$3:$J$7;$D3))));"Intervention préventive + corrective";
SI(OU(ESTNUM(TROUVE($I$3:$I$7;$B3));ESTNUM(TROUVE($I$3:$I$7;$C3));ESTNUM(TROUVE($I$3:$I$7;$D3)));"Intervention préventive";
SI(OU(ESTNUM(TROUVE($J$3:$J$7;$B3));ESTNUM(TROUVE($J$3:$J$7;$C3));ESTNUM(TROUVE($J$3:$J$7;$D3)));"Intervention corrective";
"Pas d'intervention")))

A valider en matriciel (Ctrl+Maj+Entrée)
 

Pièces jointes

  • Cernunnos.xlsx
    14.1 KB · Affichages: 28

Cernunnos

XLDnaute Nouveau
Re : Remplissage d'une colonne selon la présence d'un ou plusieurs arguments sur une

Bonjour djidji59430 et Victor21,

Il y a bien une erreur dans la ligne 9 ! Milles excuses ! (ça ne fait pas très pro de ma part :) )

De ce fait, la réponse de Victor21 répond bien à ce que je recherchais, ne me reste plus qu'à effectuer quelques modifications pour transposer cela à ma vraie feuille de calcul. Du fait d'avoir creusé ta formule, je me suis rendu compte que ça n'était peut-être pas aussi compliqué que je le pensais mais en tout cas, ça prouve que j'ai encore de nombreuses choses à apprendre ;)

En tout cas, merci énormément pour cette réponse rapide qui va en plus me faire gagner beaucoup de temps aujourd'hui.

Sachant que je me sers de plus en plus d'Excel, nous aurons peut-être la possibilité d'échanger à nouveau !

Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 689
dernier inscrit
moshe yaacov abnaim