Trier automatiquement un classement par ordre croissant sans macro

  • Initiateur de la discussion Initiateur de la discussion Choops
  • 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 !

Choops

XLDnaute Occasionnel
Bonjour à toutes et à tous,

je cherche à effectuer le tri d'un classement par ordre croissant sans macro qui se met à jour automatiquement lorsque des données sont rajoutées à ce classement.

Code:
    A            B
Participants   Score
Kevin	       2,75
Britney        1
Alfred	       1,75
Julie	       2,25
Todd	       1,75

Je cherche à obtenir :

Code:
1	Kevin
2	Julie
3	Alfred (ordre alphabétique si possible pour les égalités)
3	Todd
5	Britney

J'obtiens par le biais de formules à base de RANG, GRANDE.VALEUR, INDEX et EQUIV (cf fichier joint) :

Code:
1	Kevin
2	Julie
3	Alfred
3	Alfred <-- ça devrait être Todd
5	Britney

Merci d'avance ! 🙂
 
Re : Trier automatiquement un classement par ordre croissant sans macro

Bonjour Choops,

Peut-être

Code:
=INDEX($A$2:$A$6;EQUIV(GRANDE.VALEUR($B$2:$B$6+LIGNE($1:$5)/10000;LIGNES($1:1));$B$2:$B$6+LIGNE($1:$5)/10000;0))
à valider en matriciel

Mais pour l'ordre des égalités, ce n'est pas l'ordre alpha, c'est l'ordre inverse de celui dans lequel ils apparaissent dans la liste

Edit : Bonjour poulie,

correction au-dessus en rouge
 
Dernière édition:
Re : Trier automatiquement un classement par ordre croissant sans macro

Bonjour Choops,

Eventuellement en complétant ton résultat avec +LIGNE(F1)/10000.
Vois sur la feuille proposition de ton classeur.

Bonne réception

Bonjour tototiti2008
 

Pièces jointes

Re : Trier automatiquement un classement par ordre croissant sans macro

Merci pour vos suggestions ! Si je comprends bien, vos suggestions semblent être équivalentes (formulation différente), càd qu'on rajoute aux scores un dix millième de valeur pour les différencier. Par contre autant je comprends bien le raisonnement de la formule de poulie, autant je ne comprends pas celui de la formule matricielle de tototiti2008, ça fait bien 5 ans que je n'ai pas utilisé les formules matricielles et je ne me souviens plus de ce qu'elles signifient.

Aussi, ce n'est pas possible d'avoir les égalités qui apparaissent par ordre alphabétique ?
 
Re : Trier automatiquement un classement par ordre croissant sans macro

Rebonsoir Claude, je suis entrain d'étudier ta proposition et je bloque déjà en C2 sur =NB.SI(A$2:A$6;"<="&A2), je ne comprends pas ce que signifie "<="&A2 ?

Je ne comprends pas en fait le nombre que tu as cherché à créer en colonne C, si tu pouvais m'expliquer, je t'en saurais gré 🙂
 
Re : Trier automatiquement un classement par ordre croissant sans macro

Bonjour lynyrd, merci pour ta proposition. Elle marche bien mais nécessite un tri manuel des noms pour l'ordre alphabétique en cas d'égalité. Celle de Claude convient parfaitement car tout est automatisé mais je ne comprends pas ce que signifie "<="&A2 , j'espère qu'il (ou quelqu'un d'autre) pourra m'expliquer.
 
Re : Trier automatiquement un classement par ordre croissant sans macro

Est-ce que =NB.SI(A$2:A$6;"<="&A2) signifie compter le nombre de cellules qui sont inférieures ou égales à A2 ?
Si oui, vu que A2=Kevin (ça veut dire quoi inférieur ou égal à Kevin ?) et qu'il n'y en a qu'un seul sur la plage A2:A6 pourquoi est-ce que le résultat renvoyé est 4 ????
 
Re : Trier automatiquement un classement par ordre croissant sans macro

Bonjour à tous,

Est-ce que =NB.SI(A$2:A$6;"<="&A2) signifie compter le nombre de cellules qui sont inférieures ou égales à A2 ?
Si oui, vu que A2=Kevin (ça veut dire quoi inférieur ou égal à Kevin ?)

Oui, ça veut dire ça, et sur du texte <= signifie "avant dans l'ordre alphabétique"

et qu'il n'y en a qu'un seul sur la plage A2:A6 pourquoi est-ce que le résultat renvoyé est 4 ????

Le 4 est le rang de la valeur en colonne B, c'est à dire le score initial sans intégrer l'ordre alphabétique, qui lui est pris en compte en colonne C
 
Re : Trier automatiquement un classement par ordre croissant sans macro

bonjour tous,

Merci tototiti,je poste quand même ma tentative d'explication assez sommaire sur le fichier ou j'ai rajouté une colonne pour marquer le score initial en face du nom, j'ai recherché en vain un fichier de Jean-Marie détaillant le fonctionnement de nb.si

Bonne soirée
 

Pièces jointes

Re : Trier automatiquement un classement par ordre croissant sans macro

Merci tototiti et Claude pour l'explication, maintenant c'est très clair !! Du coup la formule de la colonne C peut simplement être =B2-NB.SI($A$2:$A$6;"<="&A2)/10000 au lieu de =B2+LIGNES($1:1)/10000-NB.SI(A$2:A$6;"<="&A2)/1000 , je ne vois plus l'intérêt du +LIGNES($1:1)/10000 (j'ai peut être raté quelque chose) ?

Merci encore 🙂
 
- 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

Retour