ClassParFormuleSelonTroisCritères

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

M

Moa

Guest
Voilà :

Je fais un classement selon un critère, avec la formule =Rang(C4;C4:C8),
mais je cherche à faire un classement selon trois critères avec un ordre.

Sachant que le deuxième critère ne doit être appliqué, qu'en cas d'égalité, après avoir éffectuer le calcul du critère1.

Et de même pour le 3è critère.

Ci-joint un exemple.

Si quelqu'un a une idée...Merci beaucoup d'avance

@ +

Moa
 

Pièces jointes

Salut,

Regarde la fonction de trie décroissant elle correspond a ta demande.

Données > Trier

ou en enregistrement de macro

Range("B3:K8").Select
Selection.Sort Key1:=Range("C4"), Order1:=xlDescending, Key2:=Range("J4") _
, Order2:=xlDescending, Key3:=Range("H4"), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

A+
 
Je te remercie Doncoucou, mais ces deux exemples ne me conviennent pas.

Je t'explique :

Mon classement doit se faire sans intervention "humaine".donc pour le tri, c'est foutu.

Et puis pour la macro, je préfère ne pas l'utiliser..Why....

Parce qu'en fait, le classement que j'éffectue, se fait sur plusieurs championnats et j'ai déjà fait plusieurs macros qui s'éxécutent bien, mais le problème, et je ne sais pas pourquoi, mais en général, 6 fois sur dix, le dernier classement contient systématiquement une erreur sur la 1ère ligne.

Je ne sais pas d'ou cela vient, j'ai refait dix fois mes macros avec l'assistant, j'ai réinstallé office etc...et toujours le même résultat.

Donc, suite à ton message, je viens de vérifier, ma macro, elle est en tout point identique à la tienne.

Je te remercie encore, c'est sympa.

@ +

moa
 
Alors, en premier, j'ai revérifié mes macros, par rapport à celle de Doncoucou, et en fait, j'avais bien un petit problème, dans mes macros.

Le hic était, qu'avant, de faire mon tri, je faisais d'abord un copier/collage spécial "valeurs", et que je ne faisais pas "range("b3:k8").Select", puisque je l'avais déjà fait pour mon copier coller.

Mais en fait, apparement, il faut resélectionner entre chaque opérations.

Je laisse le soin aux anciens de confirmer ou d'infirmer cette remarque.

Deuxièmement, après de très longues heures de recherche, j'ai trouvé la solution pour faire un tri selon trois, voire 10 critères SANS MACRO.

Si l'on reprend ma formule de base :=Rang(C4;C4:C8), on voit que je demande un classement selon les valeurs de C4 à C8.

Hors mon problème était en cas d'égalité entre une ou plusieurs de ces cases.

D'ou le besoin d'avoir des critères supplémentaires, pour les départager.

J'ai donc essayer de combiner =rang(blabla)+rang(blabla), j'ai aussi essayer
en formule matricielle, j'ai aussi essayer en disant si résultat de rang de cellule x = cellule y, alors fait un tri avec rang (blobloblo)etc...et rien ne marchait.

Donc j'ai eu l'idée de donner une valeur en % du total de mes critères de tris et de faire un =Rang(W4;W4:W8), sur ces %, et non plus sur les critères de tris, eux-même.

et en fait voilà la formule finale :

=RANG(C4;Critères)+(J4/10)+(H4/100)

Et si l'on voulait un quatrième argument, alors il suffirait de l'ajouter à cette formule mais en le divisant par 1000 et pour un 5è idem en divisant par 10 000.

Le fait de diviser par 10 puis 100, mes critères, leurs donnent l'importance du rang qu'il doivent tenir dans l'ordre de tri.

J'ai été un peu long dans mes explications(heuheuheu...!!), mais je sais que cela pourra servir, et vu le nombre d'heures passées à chercher, il fallait bien que je vous ennuie un peu avec mes explications...sinon, où serait le plaisir...!!

Et en fait, je viens de voir que l'on peut encore simplifier la formule :

=C4+(J4/10)+(H4/100)

il y a une petite différence, mais n'influant pas sur le résultat final

Dans le premier cas, on se retrouve avec une valeur : 3,12 ou 3,15 ou 2,12 etc...

Dans le deuxième cas : 32,25 ou 20,28 etc...



@ +

Moa
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
698
Réponses
40
Affichages
3 K
Réponses
5
Affichages
512
Compte Supprimé 979
C
Réponses
5
Affichages
931
Retour