Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour CISCO ,

Bravo pour l'astuce de derrière les fagots avec l'addition de l'epsilonesque n° de colonne . En revanche, il faudrait aussi (si j'ai bien compris) inclure le fait qu'un tournoi n'est pas pris en compte s'il est plus vieux que 2 ans... Pas le temps de le faire...
 

Jean-Marc Fraipont

XLDnaute Nouveau
Merci à tous. Mapomme, Cisco et Jbarbe

Mapomme tu as saisi toutes les composantes de ma demande... ton fichier calcule vraiment très rapidement et en outre, le fait que le bouton change de couleur, cela agit comme une sorte de sécurité face aux encodages involontaires.

Je suppose que je peux également insérer des lignes (par exemple, un joueur participant pour la première fois à un tournoi du circuit) et que cela ne perturbera pas les calculs.

Je vais ensuite essayer d'introduire des éléments supplémentaires :
* Que la catégorie M35+ ou autre se calcule automatiquement par rapport à la date de naissance (DOB)
* Qu'au sein de chaque catégorie, le classement se mette dans l'ordre décroissant des points de moyenne (colonne H)
* Que la position s'implémente automatiquement.

Je compte bien y arrive de par moi-même... si jamais après, je n'y arrive pas, je reviendrai vers vous.... mais pour le moment, je souhaite faire ce que je peux afin d'amener ma modeste contribution.

Une fois mon travail effectué, je vous demandrai votre avis... histoire de comprendre mes erreurs. Je sais déjà que je devrai agir par succession car je ne pourrai pas intégrer toutes ces composantes dans le bouton "Total". Ce qui pour vous sera une evidence.

Bonne fin de journée à tous.
 

JBARBE

XLDnaute Barbatruc
Bon, le programme tient compte du décompte depuis la date d'aujourd'hui -2 ( 30/08/14 dans la cellule Z2) jusqu'au 30/08/16 qui n'est pas saisie dans les dates !

La couleur jaune tient compte de ces différents paramètres !

La macro est un peu longue ! Patiente !

Bonne journée !
 

Pièces jointes

  • Excel_Forum.zip
    505.6 KB · Affichages: 32

CISCO

XLDnaute Barbatruc
Bonsoir

Une autre possibilité en pièce jointe :
* fonctionnant, même si on ne met pas les dates dans l'ordre dans la ligne 2
* ne prenant en compte que les colonnes correspondant aux dates incluses dans les deux années les plus récentes (par rapport à la date la plus à gauche).

@ plus
 

Pièces jointes

  • Excel_Forum2.xlsm
    178.7 KB · Affichages: 41

Jean-Marc Fraipont

XLDnaute Nouveau
Je souhaite vous soumettre les quelques pauvres modestes modifications que j'ai personnellement mises en place.
* Le calcul automatique de la catégorie d'âge en fonction de la date de naissance (DOB) et la date du jour.
la catégorie était calculée en tenant compte de l'âge absolu à date du jour courant ==> un joueur doit changer de catégorie en cours de saison.
(vous verrez que la formule de la colonne B n'est pas des plus simple mais bon, cela fonctionne)
J'ai été obligé de créer deux colonnes supplémentaires et donc modifier dans VB pour que cela continue à fonctionner.

Par contre, je n'arrive pas, malgré de multiples essais à ce que le tri se fasse correctement.
Je m'explique : il y a toutes les catégories d'âge dans la même colonne (C), pourtant, il faudrait qu'une fois le tri effectuer par sous-catégorie (M35+; M40+, etc...), le joueur avec le plus de points se voit attribuer dans la colonne (D) la position 1, le second la position 2... et si 2 ou plusieurs joueurs ont le même total, (comme les 3 joueurs de la position 4 en M+35, il faudrait que le suivant soit classé 7.

Le souhait c'est que tout cela soit "intégré" dans le bouton "Total..."

La dernière étape consistera à avoir 2 autre boutons :
* Le premier pour ajouter un nouveau tournoi
* Le second pour ajouter un nouveau joueur

Je vous remercie pour votre soutien.
 

Pièces jointes

  • Ranking_JMF_TEST.xlsm
    294.4 KB · Affichages: 44

CISCO

XLDnaute Barbatruc
Bonjour

Tu peux faire dans B4 avec
Code:
A4&INDEX(Table!I$3:I$11;EQUIV(RANKING!H4;Table!K$3:K$11;-1))
, à tirer vers le bas, en utilisant le format personnalisé @"+"

Tu peux aussi faire beaucoup plus simple dans ton tableau Table!I3:K11 en mettant dans K4 (et pas dans K3) la formule
Code:
J3+1
à tirer vers le bas.
De même, tu peux mettre la plage I3:I11 au format personnalisé 00"+" et effacer la plage H3:H11.

Est-ce que tu pourrais mettre sur le forum, le fichier non trié ?

@ plus
 
Dernière édition:

Jean-Marc Fraipont

XLDnaute Nouveau
Mon bon CISCO, le fichier est trié mais la position (colonne D) dans chaque catégorie n'est pas implémenté... je le fait de manière manuelle.

Il faudrait tenir compte de :
* la colonne C avec les catégories d'âge (M35+/M40+.../M75+ pour les hommes et W35+/..../W75+ pour les dames)
* donner un numéro d'ordre dans chaque catégorie (M35+, etc...) en fonction des points de la colonne J (pas I)
* Et en outre, je dois garder à l'esprit que des joueurs qui participent pour la première fois devront être ajoutés et que donc, ils viendront s'insérer dans une catégorie d'âge avec un certain nombre de points.

J'avoue ne pas saisir le fait que tu me demandes de d'utiliser J3+1 et d'effacer les date de naissance (H3:H11)
 

CISCO

XLDnaute Barbatruc
Bonsoir

Cf. une possibilité en pièce jointe.

@ plus

P.S : Attention, la date de naissance en ligne 807 n'était pas correctement "orthographiée".
 

Pièces jointes

  • Ranking_JMF_TESTbis.xlsm
    258.7 KB · Affichages: 27
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Une version v2 à laquelle sont rajoutés le tri et le calcul des positions. Le classement a été fait selon les scores de la colonne
I. La colonne B de ton fichier a été supprimée.

Attention! Ton dernier fichier en ligne 807 comportait une date non valide (les séparateurs sont des points) - c'est corrigé dans le fichier joint.

J'ai fait quelques tests mais je pense qu'il vaut mieux que tu en fasses quelques-uns aussi.

nota: Je ne me sers pas de la table des catégories qui a été effacée. J'utilise une constante 'Ages'. Voir dans module2 les déclarations de la procédure categ().

edit: salut CISCO . Pas vu ton dernier message. Quelques soient les méthodes, la 807 est ressortie!
 

Pièces jointes

  • Jean-Marc Fraipont- en VBA- v2.xlsm
    220.5 KB · Affichages: 37
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonsoir à tous, bonsoir Mapomme

...
* Et en outre, je dois garder à l'esprit que des joueurs qui participent pour la première fois devront être ajoutés et que donc, ils viendront s'insérer dans une catégorie d'âge avec un certain nombre de points.
...

Tu devrais obtenir ce que tu veux en sélectionnant tout ton tableau A4:AB950 et en le déclarant comme un tableau (au sens d'Excel (Insertion --> tableau)). Ainsi toute ligne que l'on commence à remplir juste en dessous se voit automatiquement attribuée les formules contenues juste au dessus. Et tu peux trier le tableau comme tu le veux...

@ plus
 

Pièces jointes

  • Ranking_JMF_TESTbis.xlsm
    264 KB · Affichages: 35

Jean-Marc Fraipont

XLDnaute Nouveau
Bonjour Mapomme,

J'ai effectuer quelques verifications et tout semble fonctionner à la perfection.
Le fait d'avoir une alternance de couleur entre les categories facilite la lisibilité.
J'ai rajouté des colonnes de tournoi et des lignes de nouveau joueurs... tout se passe à merveille.

Je vais ce week-end me plonger dans VB car je souhaite réellement comprendre quel code fait quoi... même si je sais parfaitement que cela ne s'acquiert qu'avec beaucoup de pratiques et d'expériences.

Merci pour ton aide... si jamais je souhaite une explication, je passerai par MP.
*****************************************************************************************
Bonjour CISCO,

Ta version avec plus de formules, est plus "compréhensible" pour moi. Je vais analyser et tirer les enseignements de ton fichier pour me "former" à l'utilisation de certaines formules que je ne connaissais pas.

Merci également pour ton implication dans mon problème.
******************************************************************************************

Je ne souhaite pas être éternellement un "assisté"... je cherche à évoluer, ce qui n'est pas facile mais bien plus gratifiant que de se voir fournir ses désirs par le travail des autres sans aucune autre forme de remise en question. Ce forum est génial et est un énorme regroupement de connaissances.
Ce qui est amusant c'est de constater que non seulement il n'existe pas une seule solution à un problème donné mais bien de multiples. Ces solutions sont "simplement" la résultante d'une approche différente.
L'enseignement premier à en tirer c'est que parfois, il faut aborder le problème sous un autre angle pour qu'une premisse de résolution montre le bout de son nez.

Longue vie à ce forum.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…