Correspondance tableaux

gawella38

XLDnaute Nouveau
Bonjour à tous,

j'ai besoin d'aide alors si quelqu'un sait faire, merci de me répondre parce que je sèche !

J'ai deux tableaux qui font correspondre le nom des personnes avec leur fonction et les différentes fonctions avec les formations qu'elles nécessitent.
Avec ça, je dois tirer un tableau faisant correspondre la personne aux formations et ce en pouvant rajouter des noms, des fonctions et des formations sans avoir à changer tous les tableaux à chaque fois....
je ne sais pas si je suis très claire ?

Je joins un fichier exemple, pour être plus concrète. Merci de vos réponses.
 

Pièces jointes

  • pers_formation.xls
    14.5 KB · Affichages: 70

Tibo

XLDnaute Barbatruc
Re : Correspondance tableaux

Bonjour,

Sur la base de ce que j'ai compris :

en B2 :

Code:
=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)&""

à recopier vers la droite et vers le bas

@+
 

gawella38

XLDnaute Nouveau
Re : Correspondance tableaux

Au secours !!!!

Tibo, peux-tu m'expliquer ta formule parce que j'ai beau la tourner dans tous les sens, je suis incapable de la comprendre !!!
Maintenant que j'ai une bonne migraine, peux-tu m'aider à nouveau ?
Je comprends les formule indépendemment les unes des autres mais ensemble... :confused:

Merci
 

gawella38

XLDnaute Nouveau
Re : Correspondance tableaux

euh... bah en fait, il n'y en a que aucune que je comprends :(

Même si j'ai lu l'aide d'Excel et que, en théorie, je vois à peu près à quoi ça peut servir, là, dans cette formule, je n'arrive pas à retrouver mon chemin...

je suis désolée, je pose des question vraiment pénibles parce qu'il ne s'agit pas vraiment d'aide "Excel" mais plus sur la démarche suivie ici en particulier.
 

tototiti2008

XLDnaute Barbatruc
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 :)
 

Tibo

XLDnaute Barbatruc
Re : Correspondance tableaux

salut Tototiti,

eh bin, je m'apprêtais à repasser pour livrer une tentative d'explication.

Je vois que tu as fait le boulot, et de belle manière.

Merci à toi (je ne pense pas que j'aurais auissi bien développé l'explication).

Bon app

@+
 

gawella38

XLDnaute Nouveau
Re : Correspondance tableaux

Whaou ! trop bien les explication ! j'ai tout compris même si je ne suis pas sûre de pouvoir le refaire....

Merci beaucoup !

Maintenant je joue les enquiquineuse et je vais vous demander : et si je veux la même chose mais en ayant, dans mon tableau de résultats, les noms en première colonne et les formations en première ligne ? (voir le fichier)


Vous avez le doit de dire que je suis pénibles, parce que c'est vrai... :p
 

Pièces jointes

  • pers_formation2.xls
    14.5 KB · Affichages: 65
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Correspondance tableaux

euh, allez, si tu insistes, tu es un peu enquiquineuse...

avec ma version de la formule :

Code:
=RECHERCHEV(B$1;form_fonct!$A$2:$D$6;1+EQUIV(INDEX
(pers_fonct!$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV
($A2;pers_fonct!$A$2:$A$5;0);1;;3);0));form_fonct!$B$1:$D$1;0);FAUX)

avec celle de Tibo :

Code:
=INDEX(DECALER(form_fonct!$A$1;1;EQUIV(INDEX(pers_fonct!
$B$1:$D$1;EQUIV(1;DECALER(pers_fonct!$A$1;EQUIV($A2;pers_fonct!
$A$2:$A$5;0);1;;3);0));form_fonct!$B$1:$D$1;0);5);COLONNE()-1)
&""
 

Discussions similaires

Réponses
11
Affichages
678
Réponses
25
Affichages
2 K

Statistiques des forums

Discussions
312 316
Messages
2 087 185
Membres
103 491
dernier inscrit
bilg1