https://support.microsoft.com/fr-fr/office/agregat-agregat-fonction-43b9278e-6aa7-4f17-92b6-e19993fa...
La formule en AG6
=AGREGAT(14;6;LIGNE(MesNoms)/(MesNoms&DECALER(MesNoms;;1;;)=B3&F3);1)
la partie noire :
premier argument = 14 = grande.valeur en combinaison avec le dernier argument 1 ---> on cherche la valeur la plus grande
deuxieme argument = 6 = ignorer les erreurs (dans la partie suivante, on commettra délibérément des erreurs pour ces valeurs qu'on ne veut pas)
la partie rouge
le numérateur = le numéro de lignes de la plage nommée "MesNoms"
le dénominateur = on crée un 1 pour les lignes correspondantes et un 0 pour les lignes faux,
Resultat ; en divisant les lignes faux par 0, on crée des erreurs que l'agregat ignore. Donc il ne restent que les numéros des lignes correspondantes et de ceux, on prend le plus grand (mais normallement, il n'y a qu'une ligne !).
formule du dénominateur : MesNoms&DECALER(MesNoms;;1;;)=B3&F3 --> ligne par ligne combiner les plages avec les noms et prénoms de la feuille "Données", si cela est égal au nom et prénom de la feuille "Accueil" alors c'est un 1 (Vrai) ou un 0 (Faux)
peut-être ça vous aidera d'évaluer la formule étape par étape https://support.microsoft.com/fr-fr/office/%C3%A9valuer-une-formule-imbriqu%C3%A9e-%C3%A9tape-par-%C...
Je ne calcule cette valeur qu'une fois et puis je l'utilise dans plusieurs de vos formules index(...) et la plage pour cette calcule est limitée à "MesNoms", pas une colonne complète. De cette manière, on gagne beaucoup de temps.