Décidément j'ai du mal à comprendre certaines fonctions....
En fait il faut sélectionner la 1ere ligne .
Il n'est pas toujours évident de faire les formules pour les MFC.
Quand vous sélectionnez une zone pour la MFC, il faut avoir à l'esprit que vous construisez la formule pour la première cellule de la zone (ici D11).
Et ensuite regarder ce qui se passe dans la formule quand on se déplace soit à droite soit vers le bas (principalement pour bien placer les références absolues ou relatives).
Rappel : on construit la formule de la première cellule de la plage soit D11.
Ici, on veut savoir si la valeur M3 est dans la ligne D11à H11.
On utilise la fonction EQUIV(valeur cherchée ; dans plage ; 0) qui renvoie le rang de la valeur dans plage ou bien renvoie l'erreur #N/A si valeur est absente de la plage. Donc en résumé si valeur est dans plage EQUIV renvoie un nombre et si valeur n'est pas dans plage alors EQUIV renvoie une erreur.
On recherche M3 dans la ligne de D11. La ligne de D11 est D11:H11. La fonction EQUIV s'écrit donc :
EQUIV(M3;D11:H11;0)
Quelque soit la cellule de la plage MFC, c'est toujours la cellule M3 qu'on veut tester. On passe donc M3 en référence absolue $M$3 et la formule devient EQUIV($M$3 ; D11:H11 ; 0)
Maintenant on imagine la formule pour la cellule à droite de D11. EQUIV devient EQUIV($M$3 ; E11:
I11 ; 0)
(en fait on imagine qu'on tire la formule en D11 en E11)
Et on s'aperçoit qu'on ne cherche plus $M$3 dans la ligne D11:H11 mais dans E11:I11.
Il faut donc dans la formule de départ fixer les colonnes D à H et pour cela on écrit : $D11:$H11.
La formule EQUIV devient : EQUIV($M$3;$D11:$H11;0)
On va faire la même chose pour rechercher les deux autres valeurs: EQUIV($N$3;$D11:$H11;0) et EQUIV($O$3;$D11:$H11)
L'astuce consiste à dire que si les trois valeurs se trouvent dans la ligne, alors chacune des trois recherches EQUIV retourne un nombre. Et dans ce cas,la somme des trois recherches EQUIV est aussi un nombre.
Si une des trois valeurs n'est pas présente dans la ligne alors sa recherche EQUIV retourne une erreur (#N/A) et par conséquent la somme des trois EQUIV sera forcément aussi une erreur.
Donc si Somme des EQUIV est numérique => les trois valeurs sont dans la ligne
Et si Somme des EQUIV est une erreur => au moins une des trois valeurs n'est pas dans la ligne.
On a donc deux cas pour la cellule D11, SI (somme des EQUIV est numérique, il faut colorer la cellule D11 si elle contient un des trois nombres recherchés sinon somme des EQUIV est une erreur et on ne colore pas la cellule D11)
Savoir si D11 est une des trois valeurs recherchées est simple : On compte le nombre de fois où D11 est dans la plage soit NB.SI($M$3:$O$3;D11). Si D11 est une des trois valeurs alors NB.SI($M$3:$O$3;D11) est supérieur à zéro.
La plage des trois valeurs est en référence absolue puisque cette plage est fixe quelque soit la cellule de la MFC.
On colore la cellule quand la formule de MFC retourne VRAI et on ne colore pas la cellule quand la formule de la MFC retourne FAUX.
On aboutit à la formule :
SI (somme des EQUIV est numérique, il faut colorer la cellule D11 si elle contient un des trois nombres recherchés sinon somme des EQUIV est une erreur et on ne colore pas la cellule D11) qui s'écrit:
SI (somme des EQUIV est numérique, il faut colorer la cellule D11 si NB.SI($M$3:$O$3;D11) >0 sinon somme des EQUIV est une erreur et on ne colore pas la cellule D11) qui s'écrit:
SI (somme des EQUIV est numérique ; NB.SI($M$3:$O$3;D11) >0 ; FAUX) qui s'écrit:
SI ( ESTNUM( EQUIV($M$3;$D11:$H11;0)+EQUIV($N$3;$D11:$H11;0)+EQUIV($O$3;$D11:$H11;0) ) ; NB.SI($M$3:$O$3;D11) >0 ; FAUX)
nota : on peut raccourcir la condition concernant la somme des trois EQUIV ce qui donne :
=SI(ESTNUM(SOMMEPROD(EQUIV($M$3:$O$3;$D11:$H11;0)));NB.SI($M$3:$O$3;D11)>0;FAUX)