Affichage avec conditions

Problématique sur Excel Mac, Version 16.103.3 (25113013) sur licence 2024 :

Dans le tableau ci-joint, si je rempli la cellule D6, le contenu de D5 s'affiche en E13. Il en est de même pour toutes les cellules colorées en jaune. Chaque fois qu'une cellule est remplie, c'est celle du dessus qu'on affiche en E13. Pour ce faire la formule utilisée est :

=SIERREUR(
INDEX(D5:K5;EQUIV(VRAI;D6:K6<>"";0));
INDEX(A8:K8;EQUIV(VRAI;A9:K9<>"";0))
)

Si deux cellules jaunes sont remplies, un principe de priorités s'applique pour déterminer ce qui apparaitra en E13 et en F13. Si D6 et E6 sont remplies, c'est E5 qui s'affiche dans la cellule F13 car elle n'a pas la priorité sur D5. Pour ce faire, j'utilise :

=SIERREUR(
SI(NB.SI(D6:K6;"<>")>=2;
INDEX(D5:K5;PETITE.VALEUR(SI(D6:K6<>"";COLONNE(D6:K6)-COLONNE(D6)+1);2));
INDEX(A8:K8;PETITE.VALEUR(SI(A9:K9<>"";COLONNE(A9:K9)-COLONNE(A9)+1);2-NB.SI(D6:K6;"<>")))
);
"")

Et il en va de la sorte pour les cellules qui suivent (G13, H13...). Les cellules de la première ligne ont la priorité sur celle de la deuxième ligne. Les cellules de gauche ont la priorité sur celles de droite.

Jusqu'ici le fichier est parfaitement fonctionnel.

Maintenant je souhaite rajouter 2 cellules en plus dans ce réseau. C1 et F1. Si C1 est remplie, c'est le contenu de A1 qu'on afficherait. Si F1 est remplie, on affiche le contenu de E1. Ces 2 conditions prendraient la priorité sur toutes les autres. J'ai donc essayé de les greffer à mes formules mais elles ne sont pas adaptées à recevoir autant d'arguments.

C'est donc pourquoi je fais appel à vous à travers ce topic, étant à la recherche de la meilleure solution. Quelle formule utiliser ? Faut-il utiliser du VBA ?

Merci d'avance !

capture d e cran 2025 12 05 a 12 35 43

Bonjour,

Tu devrais partager un classeur.

Daniel

4fichier-final.zip (363.76 Ko)

Bonjour,

Je n'ai pas pris votre fichier mais d'après ce que vous dites, ceci devrait fonctionner ;

=SIERREUR(SI(C1<>"";A1;SI(F1<>"";E1;
SI(NB.SI(D6:K6;"<>")>=2;
INDEX(D5:K5;PETITE.VALEUR(SI(D6:K6<>"";COLONNE(D6:K6)-COLONNE(D6)+1);2));
INDEX(A8:K8;PETITE.VALEUR(SI(A9:K9<>"";COLONNE(A9:K9)-COLONNE(A9)+1);2-NB.SI(D6:K6;"<>")))
)));
"")
Rechercher des sujets similaires à "affichage conditions"