Fonction pour faire un tri alphabétique / plusieurs niveaux

Bonjour,

Je travaille sur Excel 2010 et je recherche une formule me permettant grâce à des fonctions de faire un tri alphabétique sur plusieurs niveaux. J'ai déjà trouvé quelques infos sur le forum mais qui utilisaient du VBA (cf. message : Trier la liste vers une nouvelle feuille par classe).

Je me présente et j'explique : Je suis enseignant et j'ai un fichier excel avec une liste d'élèves non classés.

Colonne A : Classe (ex : 3ème A, 6ème B, 4ème C, 6ème B, 3ème A... : avec des répétitions)

Colonne B : NOM (noms en vrac : non triés)

Colonne C : Prénom (prénoms en vrac : non triés)

Je souhaiterais, grâce à une fonction, faire afficher cette même liste dans une autre feuille mais cette fois si classée : critère 1 : par classe, critère 2 : par nom, critère 3 : par prénom. (colonne A : tous les 3èmes A puis tous les 3èmes B tous les 4èmes A puis.... / colonne B : tous les noms dans l'ordre alphabétiques avec colonne C les prénoms qui correspondent aussi dans l'ordre alphabétique en cas de doublon dans la colonne des noms)

Bien-sûr il y a le tri personnalisé... Mais je souhaiterais que le tri se fasse de manière transparente...

Bien-sûr, il y a aussi les macros, mais certaines machines destinées à faire fonctionner excel ont une utilisation des macros interdites.

Donc, j'ai commencé à chercher en imbriquant les fonction equiv et index

Cependant, mes connaissances sont limitées et je m'y perds beaucoup.

Ma demande me semble compliquée, j'espère que je l'ai bien présentée.

Si quelqu'un avait une proposition pour me sortir de cette impasse ?

D'avance merci à ceux qui m'auront lu et encore plus à ceux qui vont me proposer des réponses...

Bonjour à tous,

Je me réponds à moi même.

Je ne sais pas si c'est la meilleure méthode mais une solution que j'ai trouvée est la suivante :

- je fais une concaténation des 3 colonnes : classe, nom et prénom

- Je tri cette colonne sur une deuxième feuille par la formule matricielle trouvée sur : http://boisgontierjacques.free.fr/pages_site/sommeprod.htm#TriMat

=INDEX(champ;EQUIV(GRANDE.VALEUR(NB.SI(champ;">="&champ);LIGNE(INDIRECT("1:"&LIGNES(champ))));NB.SI(champ;">="&champ);0))

champ : le nom défini pour ma colonne contenant la concaténation

- puis je retrouve mes autres données grâce à la fonction recherche....

C'est sûrement tordu, mais ça me donne ce que je souhaitais.

Si quelqu'un passe par là et me trouve une meilleure méthode, je regarderais avec plaisir...

Merci à vous

Bonjour

Si tu n'es pas allergique aux macro

Une solution peut passer par là

mais il faut ton fichier anonymisé bien sur

Savoir dans quelle page tu veux le résultat

Bonjour,

Je rajoute un fichier fictif

mais qui correspond bien à ma problématique : obtenir une liste d'élèves triés par classe puis par nom puis par prénom...

D'avance merci

Bonjour

Une solution simple sans macro et sans formules

Faire le tri avec le menu Données ---> Trier

Ensuite tu précises les colonnes à trier

cyrilrichard a écrit :

Bien-sûr, il y a aussi les macros, mais certaines machines destinées à faire fonctionner excel ont une utilisation des macros interdites.

Ce fichier comporte une macro

Pour voir le code

Clic droit sur l'onglet de la page "Tri" ----> Visualiser le code

Chaque fois que tu viendras sur la page "Tri" la liste sera triée

Merci pour cette macro...

Rechercher des sujets similaires à "fonction tri alphabetique niveaux"