Fonction TRIER à partir d'une séléction de données

Bonjour,

Toujours aussi débutant mais très heureux d'apprendre de nouvelles choses sur Excel que je commence à découvrir. Je me heurte à un nouveau challenge :

Voici mon fichier :

https://www.excel-pratique.com/~files/doc2/2009_11_Fonction_TRIER_a_partir_d_une_selection_de_donnees.xls

Le but :

Je voudrais créer sur une autre feuille de mon classeur, un tri décroissant des employés par ordre de priorité pour leurs congés, tout en départageant les ex-aequo en fonction de leur âge.

La liste initiale est par ordre alphabétique des employés avec, à côté de leurs noms et date de naissance, le nombre de points de priorité qui leurs sont attribués. Il faut donc extraire le nombre de points associé au nom et à la date de naissance de chaque employé et créer une nouvelle liste indiquant en 1ère place, l'employé qui à le plus de points et ainsi de suite en décroissant.

Petit challenge supplémentaire : s'il y a un ex-aequo en terme de points, c'est le plus âgé des deux employés qui est prioritaire.

OOoiste m'a sorti du pétrin pour les formules de calcul des points attribués, et j'essaye maintenant d'utiliser la fonction [b]TRIER[/b]. Mais il semble qu'elle ne fonctionne qu'à partir d'une plage de données et pas d'une séléction de données.

De plus je n'ai absolument aucune idée de comment faire pour, une fois un premier tri effectué par rapport au nombre de points, un deuxième tri soit effectué pour départager les ex-aequo.

Merci de bien vouloir éclairer mon obscure lanterne.(':idea:')

Alan.

Re-bonjour,

Voici un premier jet de ce que tu souhaites obtenu avec les fonctions GRANDE.VALEUR et DECALER/EQUIV.

https://www.excel-pratique.com/~files/doc2/E069X2009_11_Fonction_TRIER_a_partir_d_une_selection_de_donnees.xls

A+

A nouveau merci OOoiste pour ta réponse. Ca fait plus de 2 heures que je suis dessus et hélas je rame (je suis pas doué).

Je suis parvenu à intégrer sans souci la fonction de priorisation par rapport à la date de naissance (=F22-D19*10^-9) bien que *10^-9 m'échappe car je ne connais pas cet opérateur). J'ai réussi à intégrer aussi la fonction GRANDE.VALEUR et je la comprend. Mais ce n'est pas là le plus dur.

En tentant d'intégrer le fonctionnement d'EQUIV et DECALER et d'adapter les variables à ma feuille (différente de celle que je t'ai envoyée car celle sur laquelle je travaille est au "propre"), je ne parviens pas à maitriser l'adaptation des références entre la feuille brouillon et celle "au propre". De toute évidence, je vois que ces fonctions ont trait principalement à la position "géographique" des données que l'on déplace et c'est là que je me plante. J'ai les neurones qui s'emmêlent.

J'envoie le fichier "propre" ci-dessous afin que tu puisses mieux visualiser mes blocages. Je suis désolé, je me sens un peu nul sur ce coup là. Tu verras quand même que j'ai mis à profit tes enseignements sur les MFC et je me suis éclaté. Mais j'accuse le coup sur EQUIV et DECALER, spécifiquement sur =DECALER(Feuil1!$D$17;EQUIV(C1;Feuil1!$G$22:$G$57;0);0).

Bref, voilà le fichier, si tu parviens à faire un tour de magie...

https://www.excel-pratique.com/~files/doc2/2009_11_14_FORUM_Simulateur_de_conges.xls

Alan.

Avec cette formule je récupère un nombre de points fictifs (pondéré par l'âge) =F22-D19*10^-9

le symbole ^ signifie puissance. 10^-9 est égal à 1 milionnième. 10 puissance -5 aurait été suffisant, mais l'habitude d'utiliser 3,6,9...

Avec GRANDE.VALEUR je classe et récupère ces points fictifs.

Alors que dans ton fichier tu récupères les points réels. C'est pour cela que Decaler/Equiv ne parvient pas à renvoyer un résultat malgré que tu l'ait adaptée comme il faut.

Soit tu récupères les points fictifs et cela va marcher, soit tu veux les points réels et tu crée une colonne suplémentaire avec les points fictifs en basant la fonction EQUIV dessus.

Merci OOoiste, je m'empresse d'aller corriger mon erreur... Encore merci et bonne soirée !

Alan

Cher OOoiste,

Ta solution a été testée et approuvée !!!! J'ai corrigé mon erreur et j'ai un super tableau de classement ! T'es une bête et je me prosterne humblement aux pieds de ton éminente érudition

Encore merci pour ton aide.

Bonne semaine,

Alan

Bonjour OOoiste et Excelistes.

J'ai un nouveau challenge. Une liste d'employés doit être triée selon 3 critères dans un ordre précis. Le critère n°1 est appliqué pour obtenir une liste de priorité. Si il y des ex-aequo, on applique le critère 2. S'il y a toujours des ex-aequo, le critère 3 intervient. J'ai tenté l'adaptation d'une formule et j'y suis presque arrivé. Voici le fichier avec les 2 feuilles. Les employés par ordre alphabétique sur la feuille 1 et la liste de classement sur la feuille 2 :

https://www.excel-pratique.com/~files/doc2/2009_11_17_FORUM_Simulateur_de_conges.xls

Enfin, j'ai essayé la fonction RECHERCHEV ainsi qu'INDEX+EQUIV pour extraire sur la feuille 1 le code d'attribution de congés associé à chaque employé et le faire apparaitre sur la feuille 2. Constat d'échec là aussi.

Si quelqu'un à une idée, merci de me sortir de ma pénombre.

Bonne nuit,

Alan.

Bonjour,

Pour le classement tu as 3 critères successifs. Dans ta formule tu mets les 2ième et 3ième critères au même niveau, le tri ne peux donc se faire correctement.

=SOMME(D38:D41)-((A39/10^6+A40/10^12))

Tu remarqueras que dans ma formule le critère 2 est divisé 10^6, le critère 3 par 10^12.

Dans la tienne, ils sont tous les 2 au même rang (10^9).

Pour récuperer le code d'attribution :

=DECALER(CAT;EQUIV(F8;REFPOINTS;0)+4;0)

j'ai utilisé DECALER comme pour les autres colonnes, mais tu pouvais comme tu avais commencé à le faire utiliser INDEX/EQUIV.

=INDEX(Feuil1.$A$38:$G$131;EQUIV(F8;REFPOINTS;0)+3;7)

A+

MERCI ! Que du bonheur ! Je réalise cependant mes limitations : c'est une chose de maitriser les formules d'Excel, s'en est tout une autre que de savoir quelle formule utiliser pour tel ou tel problème et encore moins d'avoir la connaissance mathématique pour parvenir à un objectif. Heureusement que tu es là.

Encore merci OOoiste et bon week end.

Alan

Rechercher des sujets similaires à "fonction trier partir selection donnees"