Classement par valeur puis par ordre alpha

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 !! :D 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

  • alpha.xls
    18.5 KB · Affichages: 108
  • alpha.xls
    18.5 KB · Affichages: 107
  • alpha.xls
    18.5 KB · Affichages: 109

noviceAG

XLDnaute Impliqué
Re : Classement par valeur puis par ordre alpha

Bonsoir Scipion, le Forum,

Sélectionner la plage : A2:B11
puis Données, Trier Sélectionner colonne B Décroissant
Sélectionner colle A Croissant
Zone de titre : Non

Bonne soirée
 

job75

XLDnaute Barbatruc
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

  • alpha(1).xls
    26 KB · Affichages: 114
Dernière édition:

Scipion

XLDnaute Nouveau
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 ;)
 

mgd

XLDnaute Nouveau
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+
 

job75

XLDnaute Barbatruc
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

  • alpha(2).xls
    28 KB · Affichages: 75

job75

XLDnaute Barbatruc
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

  • alpha(3).xls
    28 KB · Affichages: 90
  • alpha(4).xls
    27.5 KB · Affichages: 94
Dernière édition:

Discussions similaires

Réponses
18
Affichages
2 K

Statistiques des forums

Discussions
312 453
Messages
2 088 555
Membres
103 881
dernier inscrit
malbousquet