Bonjour ozeoo, le forum,
Ma formule est : =SI(SOMME(C2:E2)=0;"";INDEX(C$1:E$1;1;EQUIV(MAX(C2:E2);C2:E2;0)))
Vous trouverez ci-dessous une explication détaillée.
Je commence par le plus facile : le début de la formule : =SI(SOMME(C2:E2)=0;"";
Ça fait que SI les 3 cellules C2, D2, et E2 sont vides ou contiennent 0, la somme est 0
➯ ne rien afficher : chaîne de caractères vide : ""
(2 guillemets, avec rien entre)
SINON, faire la suite : INDEX(C$1:E$1;1;EQUIV(MAX(C2:E2);C2:E2;0)))
La plage de cellules est celle des entêtes : C1:E1 dont il faut en retourner un ; j'ai ajouté les 2 signes « $ » pour que ça reste pareil lors de la recopie vers le bas de la formule : C$1:E$1 ; sans les 2 signes « $ », on aurait : C2:E2, C3:E3, C4:E4...
INDEX(plage;ligne;colonne) retourne l'élément situé à telle ligne et telle colonne de plage ; dans l'exemple, il n'y a qu'une seule ligne : c'est pas comme si y'avait eu 3 lignes avec C1:E3 ; c'est pour ça que le 2ème paramètre ligne est 1.
⚠ Si les entêtes avaient été plus bas, par exemple en ligne 5, j'aurais mis : INDEX(C$5:E$5;1;...)
donc toujours avec 1 en 2ème paramètre, car c'est pas la ligne de la feuille mais celle de la plage.
Tout ce qui va suivre est pour le 3ème paramètre colonne :
Avec INDEX(C1:E1;1;1) : élément en ligne 1 de la 1ère colonne de C1:E1 ➯ Activité A
Avec INDEX(C1:E1;1;2) : élément en ligne 1 de la 2ème colonne de C1:E1 ➯ Activité B
Avec INDEX(C1:E1;1;3) : élément en ligne 1 de la 3ème colonne de C1:E1 ➯ Activité C
Seulement voilà : à ce stade, on ne sait pas si la colonne doit être 1, 2, ou 3 ! car ça dépend du maximum !!!
celui-ci est MAX(C2:E2) : max de 35, 44, et 23 = 44
C'est grâce à la fonction EQUIV() qu'on a le bon n° de colonne : EQUIV(MAX(C2:E2);C2:E2;0)
ça évalue : EQUIV(44;C2:E2;0) ; ça signifie ; retourner la position de 44 dans C2:E2, et comme
44 est en 2ème position sur la ligne, ça retourne 2.
Le 0 qui est au bout est pour dire chercher exactement 44 ; il y a 2 autres valeurs pour une valeur proche (en dessous ou au-dessus) ; voir l'aide Excel pour plus de détails.
dhany