Bonjour chacune, chacun,
Voici quelques explications sur la fonction données au
post#4 :
INDEX(
Valeurs;
AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(
Valeurs));LIGNE(1:17)))
Nom :
Valeurs
Définition : =
INDEX(Feuil1!$A$2:$Q$4;EQUIV(Feuil2!$B$3;Liste_Themes;0);0)
Objectif : retourner toutes les valeurs de la ligne de la base de données pourt le nom cherché dans 'Liste_Themes' (Feuil1!A2:A4)
Fonction :
AGREGAT
Objectif : Nous permettre de retourner les numéros de lignes de la transposition de 'Valeurs' qui ne sont pas vides.
AGREGAT va employer la fonction
Petite.Valeur (15 du premier paramètre) au tableau qu'on lui passe.
Le deuxième paramètre (6) permet de lui demander d
'ignorer les erreurs dans le tableau.
Dans notre cas le tableau sera le tableau des numéros de lignes des Valeurs transposé (1..nombre d'entête de colonne) divisés par le test :
EstText(....) qui renverra Faux (0) ou Vrai (1) suivant que la valeur examinée est un texte ou non.
Agregat, ignorant les erreurs produites par les divisions par 0, il ne restera qu'un tableau de numéros.
Ainsi
INDEX(
Valeurs;
AGREGAT(15;6;LIGNE(1:17)/--ESTTEXTE(TRANSPOSE(
Valeurs));LIGNE(1:17))) devient
INDEX(Valeurs;TableauDeNumérosDeLignes)
Cordialement