Classement par valeur puis par ordre alpha

  • Initiateur de la discussion Initiateur de la discussion Scipion
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Scipion

XLDnaute Nouveau
Bonjour tout le monde !

Je reviens vers vous, une fois de plus, pour une question de classement 🙂

Le problème : j'ai un tableau avec des notes d'élèves. J'aimerais classer les élèves, de celui ayant la plus grand note jusqu'à celui ayant la plus basse. Rien de compliqué jusque là. En revanche, pour les élèves à égalité, j'aimerais que le tri se fasse par ordre alphabétique de leur prénom. Ouhhh quelle injustice !! 😀 C'est un exemple bidon, c'est juste pour comprendre le principe général.

La solution : ne maîtrisant pas du tout les macros, j'aimerais découvrir une solution par formule (non matricielle si possible, mais j'en demande peut être beaucoup)

Voilou, merci à vous !
 

Pièces jointes

Re : Classement par valeur puis par ordre alpha

Bonsoir Scipion, noviceAG,

Pour éviter le tri manuel, un tri par formules.

1) Insérer une colonne A supplémentaire (Rang) et entrer en A2 la formule :

Code:
=RANG(C2;C$2:C$11)+CODE(B2)/1000+LIGNE()/1000000

- CODE(B2)/1000 départage les ex-aequo par le code de la 1ère lettre (majuscule partout indispensable)

- s'il reste encore des ex-aequo LIGNE()/1000000 les départage par le n° de ligne.

2) Pour le tableau CLASSEMENT, une seule formule en E2, à tirer à droite et vers le bas :

Code:
=RECHERCHEV(PETITE.VALEUR($A$2:$A$11;LIGNES($2:2));$A$2:$C$11;COLONNES($E:E)+1;0)

Edit 1 : la colonne A peut (et doit) être masquée.

Edit 2 : si l'on craint d'oublier de mettre une majuscule, écrire la formule en A2 :

Code:
=RANG(C2;C$2:C$11)+CODE([COLOR="Red"]MAJUSCULE[/COLOR](B2))/1000+LIGNE()/1000000

A+
 

Pièces jointes

Dernière édition:
Re : Classement par valeur puis par ordre alpha

Merci à tous les deux !

Je vais opter pour la solution de job75 qui est plus pratique pour moi.
Si quelqu'un trouve une solution sans ajouts de colonne, je suis preneur également.

Merci encore 😉
 
Re : Classement par valeur puis par ordre alpha

Bonsoir à tous,
Si j'ai bien compris ce que tu cherches à faire revient à appliquer 2 clés de tri successives.

Cette méthode toute simple permet d'arriver au classement souhaité que tu veuilles appliquer 2 ou 200 clés de tri.
- sélectionnes une cellule et une seule de la colonne prénom, puis avec le bouton A>Z tu tries dans l'ordre croissant
- puis sélectionnes une cellule et une seule de la colonnes note, et avec le bouton Z>A tu tries dans l'ordre décroissant

Et hop tout les élèves ayant 13 sont classés dans l'ordre alphabétique

Pour résumer tu commences par trier tes données en partant du critère le moins important, en remontant vers le critère le plus important pour toi (peu importe que le tri soit croissant ou décroissant). Avec cette méthode, la limite des 3 clés de tri de la boite de dialogue données trier n'existe plus.

A+
 
Re : Classement par valeur puis par ordre alpha

Bonjour le fil, le forum,

Merci mgd, mais on a compris que Scipion ne veut pas faire de tri manuel.

Voici une solution sans ajout de colonne supplémentaire, donc assez lourde.

Formule matricielle en D2 :

Code:
=INDEX(A$2:A$11;EQUIV(GRANDE.VALEUR($B$2:$B$11-CODE(MAJUSCULE($A$2:$A$11))/1000-LIGNE($2:$11)/1000000;LIGNES($2:2));$B$2:$B$11-CODE(MAJUSCULE($A$2:$A$11))/1000-LIGNE($2:$11)/1000000;0))

A valider par Ctrl+Maj+Entrée, puis tirer à droite et vers le bas.

A+
 

Pièces jointes

Re : Classement par valeur puis par ordre alpha

Re,

Si vous voulez éviter d'avoir à modifier la formule quand la hauteur du tableau varie, définissez les noms Nom et Moyenne comme je l'ai fait (menu Insertion-Nom-Définir).

Formule matricielle en D2 fichier (3) :

Code:
=DECALER(Nom;EQUIV(GRANDE.VALEUR(Moyenne-CODE(MAJUSCULE(Nom))/1000-LIGNE(Nom)/1000000;LIGNES($2:2));Moyenne-CODE(MAJUSCULE(Nom))/1000-LIGNE(Nom)/1000000;0)-1;COLONNES($D:D)-1;1)

Edit : on peut aussi écrire plus simplement 2 formules différentes en D2 et E2 fichier (4).

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
2 K
Retour