ClassParFormuleSelonTroisCritères

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

  • EssaiClassAutomatique2.xls
    19 KB · Affichages: 47
D

doncoucou

Guest
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+
 
M

Moa

Guest
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
 
M

Moa

Guest
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
 
M

Moa

Guest
Si cela peut aider qqn, je joins le fichier correspondant au post ci-dessus

@ +

Moa
 

Pièces jointes

  • ClassAutomatiqueTi.xls
    30.5 KB · Affichages: 81
  • ClassAutomatiqueTi.xls
    30.5 KB · Affichages: 66
  • ClassAutomatiqueTi.xls
    30.5 KB · Affichages: 70

Discussions similaires

Réponses
40
Affichages
2 K
Réponses
69
Affichages
5 K
Réponses
18
Affichages
1 K

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2