Bonjour miche,
Pas de problème je vais détailler, je ne te promets pas que j'ai la meilleure solution, mais c'est la seule à fonctionner pour le momento
Donc voyons voir
=EQUIV(MAX((3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21));(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21);0)
Ça fait un sacré code en effet!
Ce serait plus simple de le lire comme ça...
=EQUIV(MAX((3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21));(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21);0)
Déjà ce qui est en rouge et en bleu, c'est exactement le même ensemble de formule, je ne l'expliquerai donc qu'en une fois
Donc il faut y regarder comme ça :
=EQUIV(MAX(Groupe de formules 1);Groupe de formules 1;0)
On va commencer par les fonctions EQUIV et MAX
EQUIV(Valeur cherchée;Matrice dans laquelle on cherche;Valeur exacte, inférieure, ou supérieure)[*]
Donc l'argument en rouge c'est ce que va chercher la formule, elle y cherche dans l'argument bleu, et on détaille comment on veut la chercher, dans mon cas, 0 veut dire que l'on cherche la valeur exacte, ce serait dommage de faire des formules compliquées et de ne pas être un peu exigeant sur celle là
Donc la seule différence entre la valeur cherchée et le tableau de recherche, c'est la fonction MAX.
Elle sert tout simplement à ne sélectionner que la meilleure valeur, ou autrement dis, la meilleure plage!
Pourquoi un MAX?
Parce que le groupement de formule fonctionne un peu comme un jeu télévisé...
Je m'explique, reprenons le code :
(3*10^9-ABS($B21-$B$4:$B$15)+3*10^9-ABS($B21-$C$4:$C$15))*($A$4:$A$15=$A21)*($B$4:$B$15<=$B21)*($C$4:$C$15>=$B21))
Voici le príncipe du jeu :
- Chaque participant va jouer 2 fois (1 participant = une cellule)
- Les tours sont représentés par les codes en vert et marron
- A chaque tour les participants vont pouvoir gagner 3*10^9 points
- A ces points, on enlève l'écart entre la valeur que propose chaque participant (B4:B15 puis C4:C15), et la valeur visée (B21), que l'on met en positif quoi qu'il arrive, et on retranche cet écart au score
- Dans le cas du premier tour, on fait l'écart avec la valeur minimale de l'intervalle, au second tour, avec la valeur maximale de l'intervalle
- Une fois que chaque participant à obtenu son score, il reste à vérifier qu'ils peuvent gagner, en clair, qu'ils n'enfreignent pas les règles du jeu
- On a plusieurs règles séparées par des *
- première règle : l'article doit être celui recherché
- seconde règle : la valeur minimale proposée doit être inférieure ou égale à celle visée
- troisième et dernière règle : la valeur maximale proposée doit être supérieure ou égale à celle visée
- Si une seule de ces règles n'est pas respectée, le score du joueur est multiplié par 0, dans le cas contraire, par 1
Puis le gagnant est sélectionné par MAX, en clair, parmis les joueurs qui ont respectés les règles, celui qui a le meilleur score.
Le tableau de recherche applique également le jeu aux participants afin déviter d'envoyer la "récompense" à un joueur qui n'aurait pas respecté une règle mais qui a le même score que le gagnant.
Voilà ! j'espère avoir été clair
Si jamais tu as encore besoin d'aide ou d'explications moins... farfellues, reviens nous voir, sinon si tout est bon...