Re : Regrouper tous les noms d'un tableau sur une seule colonne
Voici ta formule originale :
=PETITE.VALEUR(SI((Feuil1!$A$6:$T$170>0)*(MOD(COLONNE(Feuil1!$A:$T)-1;4)=0);Feuil1!$A$6:$T$170);LIGNE()-5)
En faisant CTRL+SHIFT+ENTRÉE elle devient une matrice
Ce qui fait que ta formule Petite.Valeur tri les données où se trouve la formule du genre
=SI(D6="";"";EQUIV(B6;{"AA";"A";"F";"BB";"B"};0)*1000+D6+LIGNE()/1000)
qui sera sur une colonne en fait car il ne fait que trier, mettre en ordre croissant ces données
Cette partie qui suit de la Fct Petite.Valeur est la matrice qu’il va retourner dans lequel il va prendre la n-ième valeur
SI((Feuil1!$A$6:$T$170>0)*(MOD(COLONNE(Feuil1!$A:$T)-1;4)=0);Feuil1!$A$6:$T$170)
La n-ième valeur est
LIGNE()-5
Prenons le test
SI((Feuil1!$A$6:$T$170>0)*(MOD(COLONNE(Feuil1!$A:$T)-1;4)=0);Feuil1!$A$6:$T$170)
Si tu mets ceci dans une cellule il renvoie toujours la plage Feuil1!$A$6:$T$170 car VRAI * VRAI = VRAI et alors la condition est respecter.
Cette partie en matrice
(Feuil1!$A$6:$T$170>0)
est toujours VRAI
Dans ta nouvelle formule
=SI(MOD(COLONNE();4)=1:"VRAI";"FAUX")
Effectivement il retourne VRAI dans les colonnes où il y a la formule, ceux en fait où tu veux que le tri croissant soit fait,
=SI(D6="";"";EQUIV(B6;{"AA";"A";"F";"BB";"B"};0)*1000+D6+LIGNE()/1000)
Et FAUX dans les autres.
Dans ta formule orginale suivante
SI((Feuil1!$A$6:$T$170>0)*(MOD(COLONNE(Feuil1!$A:$T)-1;4)=0);Feuil1!$A$6:$T$170)
Test logique
(Feuil1!$A$6:$T$170>0)*(MOD(COLONNE(Feuil1!$A:$T)-1;4)=0)
Si VRAI il prend cette plage(matrice)
Feuil1!$A$6:$T$170
Où se trouve la partie fausse….. ???
J’imagine que si c’est faux il ne fait rien…. Mais la partie se doit d’y être quand même sinon la syntaxe n’est pas respecter….
Désolé si je reviens là dessus... je ne veux pas dire que tu as tords loin de là car ça semble fonctionner car le résultat est là, peut être qu'il y a un cas d'exception mais rien ne dit qu'il en existe un. Ta formule semble fonctionner à merveille.
J'essais de comprendre le pourquoi du quoi et de prendre parti par parti.
Gros Merci encore.
CyberNeo