Tri alphabétique avec une formule (sans VBA)

Bonjour à tous,

Je souhaiterais faire le tri de certains films par ordre alphabétique et avec une formule (si possible, pas en VBA).

J'ai fais pas mal d'essais à partir d'exemples mais je n'arrive pas à les faire fonctionner

J'ai joins un fichier pour exemple

Merci par avance pour vos réponses

Brook

Bonjour,

Avez-vous essayé avec le tri de la base de données ?

Voir croquis ci-joint

amicalement

Pierrot

tri

Sinon, en E3:

=RECHERCHE(1;0/FREQUENCE(LIGNES($1:1);1+NB.SI($B$3:$B$8;"<"&$B$3:$B$8));$B$3:$B$8)

et à copier vers le bas.

Cordialement

Bonjour à tous ...

Bonjour Pierrot

Hello XOR LX

Une autre proposition ... avec une formule maticielle pour faire plaisir à Tulipe ...


@XOR LX ....

Un grand Bravo pour une Formule (qui n'a pas besoin d'être matricielle ...!!! ) pour trier alphabétiquement ...

P.S. As usual ... you are truly impressive ...

Bonjour James!

Bravo! Pas mal du tout!

En fait, à ce moment précis j'écris un article sur ce sujet pour mon blog!

Cordialement

salut james

autrement (pour marquer le coup

[code]'=INDIRECT("I"&EQUIV(PETITE.VALEUR(NB.SI(I$2:I$7;"<="&I$2:I$7);LIGNE(A1));NB.SI(I$2:I$7;"<="&I$2:I$7);0)+1)[/code

les valeur$ vont de I2 à I7 et pourquoi +1 >>because le tableau de val debute a la 2eme ligne

matricielle a valider en faisant Ctrl shift Enter les 3 "doigts" en meme temps

je l'expliquerai cette nuit :lol: ;;) pendant une crise de somnenbulisme :lol:

cordialement

En fait, y a pas besoin du 1+. Mieux est:

=RECHERCHE(1;0/FREQUENCE(LIGNES($1:1);NB.SI($B$3:$B$8;"<="&$B$3:$B$8));$B$3:$B$8)

Cordialement


Ahhhhh! Toutes ces LIGNEs!! Et pas LIGNES, ce qui est tant mieux!! (Et il n’y pas besoin de faire ces additions/soustractions, comme avec LIGNE(A1)+7 ou LIGNE()-1, etc.)

Cordialement

Merci à tous et toute pour vos réponses, la formule de XOR LX marche très bien.

Brook a écrit :

Merci à tous et toute pour vos réponses, la formule de XOR LX marche très bien.

Merci pour tes remerciements ...

La formule de XOR LX est la solution la plus simple ET la plus élégante ...!!!

De ma part aussi. Et bonne journée a tous!

Je reviens vers vous pour la suite du problème

Quand j'applique cette formule à ma liste de case remplie, ça fonctionne très bien.

Par contre, si j'étends la liste de case pour que le tri se fasse pour les futurs films que j'irais voir, il me met d'abord les cases vides puis les cases avec le tri.

Comment faire pour éviter les cases vides?

Merci d'avance

Brook

Re,

Il te suffit d'utiliser une plage dynamique ... et de copier la formule sur autant de lignes que nécessaire...

Merci bien, James!

Moi, je préfère plutôt:

=SI(LIGNES($1:1)>NBVAL(Plage);"";RECHERCHE(1;0/FREQUENCE(LIGNES($1:1);NB.SI(Plage;"<="&Plage));Plage))

ce qui évite la répétition de la construction principale.

En plus, pour le nom défini Plage:

=Feuil1!$A$2:INDEX(Feuil1!$A:$A;EQUIV(REPT("z";255);Feuil1!$A:$A))

est peut-être un peu mieux grâce à l'absence de volatilité.

Cordialement

Merci pour vos réponses (et désolé pour mon retard)

Cependant, ça ne fonctionne pas parce que j'ai oublié de préciser un détail. Ce ne sont pas des cellules vides qui sont à exclure mais dans case rempli d'un espace, en l'attente de nouvelles données

Brook a écrit :

Merci pour vos réponses (et désolé pour mon retard)

Cependant, ça ne fonctionne pas parce que j'ai oublié de préciser un détail. Ce ne sont pas des cellules vides qui sont à exclure mais dans case rempli d'un espace, en l'attente de nouvelles données

Mais pourquoi pas utiliser plutôt ""? " " ne sert qu'à confondre. Par exemple, en D3:

=SI(B3=0;"";B3)

après quoi la formule est:

=SI(LIGNES($1:1)>NBVAL(Plage);"";RECHERCHE(1;0/FREQUENCE(LIGNES($1:1);NB.SI(Plage;"<="&Plage));Plage))

pour laquelle, comme l'a dit James, Plage est un nom défini dynamique:

=Feuil1!$D$3:INDEX(Feuil1!$D$3:$D$100;EQUIV(TRUE;NBCAR(Feuil1!$D$3:$D$100)=0;0)-1)

Cordialement

Je n'arrive toujours pas à la faire fonctionner.....

Je dois mal m'y prendre, j'ai mis une partie de mon fichier avec les calculs et les renvois.

Si quelqu'un peut me le faire sur le fichier, merci par avance

Bonjour à tous,

Tout le crédit de la solution va à XOR LX ....

41test-tri-brook.xlsx (33.85 Ko)

Parfait, James.

XOR LX a écrit :

Parfait, James.

Merci XOR LX ...

P.S. Just a little bit of After-Sales ...

y a toujours un souci, si je continue à mettre la formule dans les colonnes C et D dans l'onglet action, je me retrouve avec plusieurs fois le premier film

17test-tri-brook.xlsx (34.71 Ko)
Rechercher des sujets similaires à "tri alphabetique formule vba"