Re : Correspondance tableaux
alors, décomposons :
EQUIV(B$1;pers_fonct!$A$2:$A$5;0)
donne la position du prénom de la ligne 1 dans la liste des prénoms de la feuille pers_fonct (1,2,3 ou 4 en l'occurence)
DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!$A$2:$A$5;0);1;;3)
détermine la plage des 1 ou 0 pour le prénom concerné : 1 ligne et 3 colonnes dans la ligne du prénom (pour alfred, renvoie la plage pers_fonct!$B$2:$D$2)
EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!$A$2:$A$5;0);1;;3);0)
renvoie le numéro de la colonne du premier 1 de la plage déterminée au-dessus (1,2 ou 3) (on l'appellera "NumCol")
INDEX(pers_fonct!$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!$A$2:$A$5;0);1;;3);0))
prend la "NumCol"ième valeur de la plage pers_fonct!$B$1:$D$1, ce qui donne le nom de la fonction correspondante
EQUIV(INDEX(pers_fonct!$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!$A$2:$A$5;0);1;;3);0));form_fonct!$B$1:$D$1;0)
Donne le numéro de colonne de la fonction dans la plage form_fonct!$B$1:$D$1 (1,2 ou 3)
DECALER(form_fonct!$A$1;1;EQUIV(INDEX(pers_fonct!$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!$A$2:$A$5;0);1;;3);0));form_fonct!$B$1:$D$1;0);5)
crée la plage de 5 lignes dans la colonne de la fonction de la personne (par exemple, pour alfred qui est opérateur, crée la plage : form_fonct!B2:B6
=INDEX(DECALER(form_fonct!$A$1;1;EQUIV(INDEX(pers_fonct!
$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV(B$1;pers_fonct!
$A$2:$A$5;0);1;;3);0));form_fonct!$B$1:$D$1;0);5);LIGNE()-1)&""
prend la valeur de la ligne en cours -1 dans la plage déterminée au-dessus
par exemple, pour alfred (ligne en cours = 2, prend la 2-1=1ère valeur de la plage déterminée au-dessus)
j'espère que ça peut t'aider