XL 2013 Classement et mise en forme conditionnelle

Tezca

XLDnaute Nouveau
Bonjour,

Je fais des classements sportifs et j'ai besoin d'aide pour gérer les égalités et les MFC que j'ai intégrées dans ces classement. Ce que je demande m'a l'air un peu compliqué donc je vais essayer d'être le plus clair possible. Je joins un fichier pour que ce soit (j'espère) plus clair Les équipes sont classées selon leur nombre de points, l'équipe ayant le plus de points étant en tête. La colonne des points est la colonne R. Dans le 1er tableau, on voit que les équipes classées 2e et 3e ont le même nombre de points. Il faut donc les départager autrement. Dans mes tableaux, le 2e niveau de départage est la colonne K. Et si l'égalité persiste (comme c'est le cas ici), il existe d'autres niveaux de départage. Il y en a 14 au total (dans l'ordre, R, K, I, J, N, Q, C, D, E, F, L, M, O, P). Ma question est donc la suivante : comment faire pour qu'excel prenne ceci en compte lorsque je rentre les résultats dans les tableaux et que je fais le tri en fonction de ces résultats. Est il possible de le faire via une macro? (sachant que deux équipes à égalité de points de le sont pas forcément toujours). Jusqu'à présent je le fais manuellement, mais lorsque j'utilise la fonction tri personnalisé et que j'ajoute les différents niveaux, ils ne s'enregistrent pas.

Mon autre souci concerne la MFC. Lorsqu'une équipe atteint un rang dans le classement et qu'elle est sure de s'y maintenir, la ligne correspondante se colore. (Ici la première ligne est colorée car l'équipe est assurée de terminer à la première place, sachant qu'il reste un seul match à jouer pour les 4 équipes). Les colonnes S et T indiquent à quel moment une équipe est sur d'atteindre un rang et de s'y maintenir (la colonne S indique le nombre MAXIMUM de points restants et R indique le nombre MAXIMUM de points qu'une équipe peut avoir). Or, dans le 1er tableau, les équipes 2e et 3e ont les mêmes nombres de points maximum atteignables. Dans ma MFC, je n'utilise que les colonnes R, S et T. Ma question est donc : comment faire pour que la formule de la MFC prenne en compte l'égalité et suive la règle du classement énoncée ci-dessus? (et qui soit valable pour les 4 équipes de chaque tableau).

Enfin, dernière difficulté : dans le 2e tableau, les 4 équipes sont assurées de terminer aux places ou elles sont actuellement. Le problème concerne l'équipe classée 3e. Si elle marque le maximum de points possible (soit 8), elle finira avec 17 points et sera à égalité avec la 2e (à condition que celle-ci n'en marque pas). Mais elle finira de toute façon troisième car selon la règle du départage en cas d'égalité, l'équipe 2e aura un point de plus que la 3e (15 contre 14). Ma question est : comment faire pour qu'excel prenne ce paramètre en compte avant que tous les matchs soient joués, autrement dit dès que chaque rang est assuré pour chaque équipe? (Plus précisément, avec ma formule de MFC, excel considère que la 3e équipe peut encore terminer 2e car son nombre de points MAXIMUM n'est pas strictement inférieur au nombre de points de la 2e).

Voila, je m'excuse d'avoir été si long mais c'est pour essayer d'être aussi clair que possible. Merci beaucoup aux personnes qui prendront le temps de me lire et de m'aider.

Tezca.
 

Pièces jointes

  • Classeur2.xlsx
    10.9 KB · Affichages: 53
  • Classeur2.xlsx
    10.9 KB · Affichages: 44

Victor21

XLDnaute Barbatruc
Re : Classement et mise en forme conditionnelle

Bonsoir, Tezca et bienvenue sur XLD

[...les équipes classées 2e et 3e ont le même nombre de points. Il faut donc les départager [...]l (dans l'ordre, R, K, I, J, N, Q, C, D, E, F, L, M, O, P).

Une proposition par formule en pondérant les différents critères à tester avec les différentes valeurs possibles pour chaque critère :
=I2+J2+N2+((K2<>0)*(K2*10^-15))+((I2<>0)*(I2*10^-14))+((J2<>0)*(J2*10^-13))+((N2<>0)*(N2*10^-12))+((Q2<>0)*(Q2*10^-11))+((C2<>0)*(C2*10^-10))+((D2<>0)*(D2*10^-9))+((E2<>0)*(E2*10^-8))+((F2<>0)*(F2*10^-7))+((L2<>0)*(L2*10^-6))+((M2<>0)*(M2*10^-5))+((O2<>0)*(O2*10^-4))+((P2<>0)*P2*10^-3)
(voir les résultats en colonne V)
 

Pièces jointes

  • Tezca.xlsx
    15.7 KB · Affichages: 38
  • Tezca.xlsx
    15.7 KB · Affichages: 36

Tezca

XLDnaute Nouveau
Re : Classement et mise en forme conditionnelle

Bonjour Victor21

Merci pour ta réponse. Cependant, ta solution ne fonctionne pas... je pense que cela est du au fait que même si les différences dans les décimales sont infimes, elles sont malgré tout assez importantes pour fausser le classement...
par exemple, dans le 2e tableau, à l'heure actuelle, l'équipe classée 3e aura à la fin 17,0109 points maximum et l'équipe 2e a 17,0106 points. L'équipe 3e pourrait donc rattraper la 2e, ce qui ne correspond pas à la réalité. Ou plus précisément, ça correspond à la réalité avec les décimales, mais le nombre de points n'est pas censé être décimal. Donc si je les cache, le classement est faux... idem pour l'autre tableau.

Je vais essayer de trouver une autre solution, en tout cas merci beaucoup de m'avoir aidé :)!

Tezca.
 

Victor21

XLDnaute Barbatruc
Re : Classement et mise en forme conditionnelle

Re,

Ma réponse -partielle- n'a pour objet que de départager les éventuels ex-aequos, en fonction des différentes priorités que vous avez définies, et au regard des points déjà acquis. Il est cependant possible que je me sois fourvoyé, les titres de vos colonnes ne m'ayant pas aidé à comprendre les règles de classement.
En pj les classements figurent en colonne X.
 

Pièces jointes

  • Tezca.xlsx
    16 KB · Affichages: 42
  • Tezca.xlsx
    16 KB · Affichages: 47

Tezca

XLDnaute Nouveau
Re : Classement et mise en forme conditionnelle

Merci pour votre réponse. Je pense que je n'ai pas été assez clair dans mon précédent message.

Le problème est que dans le premier tableau, l'équipe classée 2e (selon votre solution) devrait être classée 3e. En effet, pour ces deux équipes, les colonnes R, K, I, J et N sont égales, la colonne Q ne l'est pas. Cette colonne représente la différence de but (d'où l'intitulé DB). L'équipe ayant une DB de 1 doit donc être classée devant celle ayant une DB de -5 (car 1>-5). Si on prend en compte le nombre total de points (colonne R) avec les décimales, le classement est juste, mais, si possible, je voudrais que ce nombre ne soit pas décimal.


Le problème dans le second tableau est un peu plus complexe. La colonne S indique le nombre de points MAXIMUM restants à prendre, la colonne T indique le nombre MAXIMUM de points qu'une équipe peut avoir à la fin de tous les matchs (6 matchs car 4 équipes, 5 ayant déjà été joués). Cela signifie donc que ce n'est pas forcément ces totaux qui seront atteints. Sachant cela, il reste à l'équipe 3e 8 points MAXIMUM à prendre si elle gagne le dernier match. Si c'est le cas elle marquera 17 points et sera à égalité avec la 2e (qui restera à 17 points, puisque ces deux équipes s'affronteront lors du dernier match). Dans ce cas il faudra les départager, ce qui se fera par la colonne K. Les 8 points s'additionneront aux 6 déjà inscrits ce qui se fera 14 et l'autre équipe en gardera 15. Donc, même si l'équipe 3e marque le nombre maximum de points possible, elle restera de toute façon 3e. Or, avec votre solution, elle marquera 17,0109 points contre 17,0106 pour la 2e. Dans ce cas elle passera 2e, ce qui est normalement impossible. La aussi le problème vient des décimales...
Donc, ça faussera la MFC que j'ai établie (qui repose sur le fait que pour qu'une équipe soit 3e, elle ne puisse plus rattraper la 2e, ni être rattrapée par la 4e).

Voilà, j'espère avoir été assez clair. Comme ce sont des classements que j'ai conçus moi même et que leur fonctionnement est un peu alambiqué, je comprends que ce soit compliqué pour vous de comprendre ma demande. Et il est aussi possible que ce que je veux faire soit impossible.

Encore merci pour votre aide.

Tezca.
 

Victor21

XLDnaute Barbatruc
Re : Classement et mise en forme conditionnelle

Re,

[...] Si on prend en compte le nombre total de points (colonne R) avec les décimales, le classement est juste, mais, si possible, je voudrais que ce nombre ne soit pas décimal. [...]
=ent(résultat)
renvoie la partie entière de résultat. Voyez également les fonctions arrondi(), arrondi.inf(), et arrondi.sup()
 

Souris

XLDnaute Nouveau
Re : Classement et mise en forme conditionnelle

Bonjour,
je ne suis pas sûr, mais je ne crois pas que les décimales cachées soit la cause du problème, car même avec aucune décimale affichée, excell trie correctement. Essaie-le

Salut
Souris
 

Statistiques des forums

Discussions
313 224
Messages
2 096 338
Membres
106 572
dernier inscrit
JM04082023!