Bonjour,
D'abord tes données ne sont pas fixes en ligne 1 puisqu'elles ne reproduisent pas à l'identique la ligne 1 du tableau initial.
Il faut donc calculer cette nouvelle ligne 1 avec une formule. Là ce n'est pas bien compliqué.
Sur ton premier exemple de 4 colonnes, tableau résultant à partir de K1. Formule en K1 :
[b]=GRANDE.VALEUR($B$1:$E$1;COLONNE(A:A))
[/b]
à tirer sur 4 colonnes.
Petit écart : sur ton grand tableau il y a une colonne non numérique, dont j'ai donc remplacé la valeur par 0.
Si tu tiens à voir apparaître NO, tu as le choix entre 2 solutions :
1) Tu mets comme format de cellule de la ligne 1 : 0;;"NO" et tu verras apparaître NO en tapant 0
2) Tu continues à taper NO et tu insères dans les formules toutes les références à la première ligne dans une fonction N() qui renverra 0 pour une valeur texte.
Deuxième formule, positionnée en K2 sur le petit tableau modèle :
=SIERREUR(INDEX(2:2;PETITE.VALEUR(SI(($B2:$E2<>"")*($B$1:$E$1=K$1);COLONNE($B$1:$E$1));NB.SI($K$1:K$1;K$1)));"")
Celle-ci est matricielle (validation : Ctrl+Maj+Entrée). Elle se tire sur tout le reste du tableau, vers le bas et vers la droite.
Dans ton grand tableau, ton résultat manuel supprime un certain nombre de colonnes qui se trouvaient être vides. La formule ne les supprime pas, elle ne préjuge pas du contenu qui sera éventuellement trouvé sur les lignes suivantes... Si tu veux faire disparaître les colonnes vides, tu les supprimes du tableau initial et elles n'apparaîtront pas au final (tes colonnes NO, vides auraient ainsi pu disparaître aussi).
Bon dimanche.
Ferrand