Problème à résolutions successives

Jean-Marc Fraipont

XLDnaute Nouveau
Bonjour,

Je souhaite vous soumettre une requète bien precise car, bien que n'étant pas novice, je suis également très loin d'avoir une maîtrise suffisante de notre tableur favori.


Je souhaite posséder un fichier permettant de calculer des ranking de joueurs, mais il y a plusieures contraintes
Voici en substance l'énoncé de mes déboires :
1/ Dans la ligne 3 une date (celle de chaque tournoi). Le Classement ne doit tenir compte que des 4 meilleurs résultats ayant été réalisés dans les derniers 24 mois (soit 2 ans de date à date). Problème, grâce à un MFC, j'ai 5 résultats... normal vu que le premier joueur à 3 fois 1000 points comme plus mauvais résultat. Commant n'en prendre que effectivement 4 en compte (de preference les plus récents)

2/ Il faudrait en suite pouvoir additionner ces 4 meilleurs résultats dans la colonne f
3/ La moyenne de la colonne E vient de l'addition des 4 meilleurs résultats divisé par 4 (E3) ici en manuel :)

4/ Evidemment après chaque tournoi, une colonne sera ajoutée pour y introduire les résultats.
5/ Le calcul de points devra tenir alors compte de toutes ces contraintes pour donner le nouveau classement.

Je ne sais pas si cela est réellment possible mais je garde espoir dans la communauté "Excel".

Merci d'avance à tous ceux qui prendront la peine de se pencher sur ce problem.
 

Pièces jointes

  • Excel_Forum.xlsm
    162.3 KB · Affichages: 62

CISCO

XLDnaute Barbatruc
Bonsoir

Une possibilité en pièce jointe, avec la formule
Code:
=SOMMEPROD((($H4:$Z4-COLONNE($H4:$Z4)/1000)>=GRANDE.VALEUR($H4:$Z4-COLONNE($H4:$Z4)/1000;4))*$H4:$Z4)

et la MFC
Code:
=(H4-COLONNE(H4)/1000)>=GRANDE.VALEUR($H4:$Z4-COLONNE($H4:$Z4)/1000;MIN(NBVAL($H4:$Z4);4))

Ces deux formules commencent dans la colonne H pour que les nouvelles colonnes, correspondant aux nouvelles dates, insérées à gauche de la colonne I actuelle, soient prises en compte. Cela ne fonctionne que si tu mets les dates dans l'ordre décroissant.

@ plus
 

Pièces jointes

  • Excel_Forum.xlsm
    191 KB · Affichages: 81

JBARBE

XLDnaute Barbatruc
Bonsoir à tous,

Cliquez sur le bouton GO !

Je n'ai pas trés bien compris les colonnes attribuées mais le total est en colonne H et le total/4 et en colonne G
La colonne I sert à ajouter des colonnes !

Le calcul est peut-être un peu long, mais il faut tenir compte du travail demandé !

J'ai tenu compte de :

1/ Dans la ligne 3 une date (celle de chaque tournoi). Le Classement ne doit tenir compte que des 4 meilleurs résultats ayant été réalisés dans les derniers 24 mois (soit 2 ans de date à date).

Lors de l'ajout en colonnes I :

Ainsi, si cette particularité n'est pas encore attribué ( exemple : 02/01/14 - 03/02/15) la macro va jusqu'au 03/02/15 qui est inférieur à 2 ans!

Par contre si le début est 02/01/14 et la fin 03/02/16, la macro ira calculer jusqu'au 02/01/16 (2 ans de date à date) si elle rencontre cette date !

C'est ce que j'ai compris dans cette demande !

Bonne nuit !
 

Pièces jointes

  • Excel_Forum.xlsm
    191.7 KB · Affichages: 44
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bpnjour à tous,

En ayant compris à peu près la même chose que JBARBE (par formules).
  • la date des tournois doit être inférieure à 2 ans
  • il faut au moins quatre tournois avec un nombre de points sup. à zéro
Pour ajouter un tournoi:
  • la colonne H est indispensable, vide sauf 0 en ligne 2
  • se placer sur la colonne I
  • insérer une colonne
 

Pièces jointes

  • Excel_Forum.xlsm
    179.3 KB · Affichages: 49

Jean-Marc Fraipont

XLDnaute Nouveau
Bonsoir à tous,

Cliquez sur le bouton GO !

Je n'ai pas trés bien compris les colonnes attribuées mais le total est en colonne H et le total/4 et en colonne G
La colonne I sert à ajouter des colonnes !

Le calcul est peut-être un peu long, mais il faut tenir compte du travail demandé !

J'ai tenu compte de :

1/ Dans la ligne 3 une date (celle de chaque tournoi). Le Classement ne doit tenir compte que des 4 meilleurs résultats ayant été réalisés dans les derniers 24 mois (soit 2 ans de date à date).

Lors de l'ajout en colonnes I :

Ainsi, si cette particularité n'est pas encore attribué ( exemple : 02/01/14 - 03/02/15) la macro va jusqu'au 03/02/15 qui est inférieur à 2 ans!

Par contre si le début est 02/01/14 et la fin 03/02/16, la macro ira calculer jusqu'au 02/01/16 (2 ans de date à date) si elle rencontre cette date !

C'est ce que j'ai compris dans cette demande !

Bonne nuit !
 

Jean-Marc Fraipont

XLDnaute Nouveau
Merci à toi JBARBE.

Un élément me taraude, si je change la date de la colonne x (actuellement 3/10/14) et que je la date au 3/10/13, après activation du bouton "GO", il continue tenir compte de la colonne x alors que celle-ci est plus ancienne que les 2 ans requis.

Peut-être ai-je mal formulé ma demande ou que je manipule ton programme de manière erronée.

En tous les cas, un grand merci d'avoir consacré du temps à ma demande.
 
Dernière édition:

Jean-Marc Fraipont

XLDnaute Nouveau
Bonjour Mapomme,


Très intéressante ta solution mais pour que le classement soit valable, il faut que, si il n'y a pas 4 résultats minimum entrés dans la période de 2 ans, le calcul se fasse sur les 3,2 ou 1 résultats entrés dans cette période de 2 ans.

Sinon, établir le classement n'est pas possible.
Et dans tous les cas, ce total obtenu doit être divisé par 4 pour obtenir la moyenne souhaitée ==> (facile, on rajoute /4 en fin de formule dans la colonne "G")

Question subsidiaire, est-il possible également que les résultats qui seront pris en compte soient mis en surbrillance par MFC ou autre. J'arrive à le faire en prenant les 4 plus grands résultats mais si par exemple, je fait passer la date de la colonne "x" à 2013, le calcul est correct mais la MFC ne suit pas.

Désolé d'en demander autant mais je constate que cette communauté grouille d'idées et que votre inventivité est multiple... :)

D'avance, merci à tous.

Jean-Marc
 

JBARBE

XLDnaute Barbatruc
Merci à toi JBARBE.

Un element me taraude, si je change la date de la colonne x (actuellement 3/10/14) et que je la date au 3/10/13, après activation du bouton "GO", il continue tenir compte de la colonne x alors que celle-ci est plus ancienne que les 2 ans requis.

Peut-être ai-je mal formulé ma demande ou que je manipule ton programme de manière erronée.

En tous les cas, un grand merci d'avoir consacré du temps à ma demande.

En effet il y avait un petit probléme !

De ce fait, j'ai mis 3/10/13 et dans la colonne R >>3/10/15 ( 2 ans de date à date)

Maintenant les calculs sont en principe bons

bonne journée !
 

Pièces jointes

  • Excel_Forum.xlsm
    190.5 KB · Affichages: 58

JBARBE

XLDnaute Barbatruc
J'ai rectifié quelques petits problèmes et fait en sorte de colorier en jaune la zone de calcul !

Attention : l'étendue des colonnes date se limitent à 50 mais peuvent être modifiée !

Faire la demande si nécessaire !

bonne journée !
 

Pièces jointes

  • Excel_Forum.zip
    527.9 KB · Affichages: 56
Dernière édition:

Jean-Marc Fraipont

XLDnaute Nouveau
J'ai rectifié quelques petits problèmes et fait en sorte de colorier en jaune la zone de calcul !

bonne journée !
Je crois que ton fichier prend en compte la date (pour le calcul qui doit tenir compte de la période de 2 ans) la plus ancienne (ici 3/10/13 de AA3) mais en réalité, il faut que ce soit les 4 meilleurs résultats à partir d'aujourd'hui moins 2 ans.
Normalement, il ne devrait pas tenir compte de la colonne AA car plus vieille que 2 ans.
J'ai remis la date de AA à 3/10/14... et le calcul est correct. Mais quand on aura atteint la date du 3/10/16, la colonne AA ne sera plus dans la plage des date à exploiter.

Le coloriage (problème nettement moins vital) se fait lui sur toutes les cellules qui ont une valeur. Seules les 4 (maximum) meilleurs résultats dans les 2 dernières années sont à mettre en évidence.

J'ai bien ouvert VB mais j'avoue ne pas maîtriser ce domaine.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour Jean-Marc Fraipont, à tous,

Je n'arrive pas à me dépêtrer :mad: de cette maudite MFC. Je suis donc passé au VBA. Le bouton "Total..." est rouge si une mise à jour est nécessaire (des données ont changées). J'ai essayé de respecter les conditions si je les ai bien comprises.
  • ne prendre en compte que les tournois dont l'ancienneté est inférieure à deux ans
  • prendre les quatre plus grands scores, afficher leur somme et leur moyenne
  • colorer les cellules qui ont contribué à la somme
  • s'il y a moins de quatre plus grands scores, on les prend tous, on affiche leur somme et leur somme divisée par quatre. Les cellules prises en compte sont colorées
Pour insérer un tournoi, sélectionner la colonne I et insérer une colonne. La nouvelle colonne prend la couleur de la colonne H. Il suffit d'exécuter la macro en cliquant sur le bouton "Total..." pour ôter la coloration de la nouvelle colonne I.
 

Pièces jointes

  • Jean-Marc Fraipont- en VBA- v1.xlsm
    174.7 KB · Affichages: 57
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour à tous, bonjour JBARBE et mapomme, bpnjour Jean-Marc

Merci Cisco.

Effectivement c'est exactement ce à quoi j'aspirais... Cette manière de faire via des formules me convient parfaitement.

Bonne soirée.

Si tu as des valeurs avec des cents, et/ou si tu as beaucoup de colonnes (si ton tableau dépasse la colonne CU), il faut mettre dans les formules comme dans la MFC des /10 000 ou encore plus grand à la place de /1000.

@ plus
 

Discussions similaires