XL 2016 Classement particulier d'une base de donnée par points puis par place avec VBA

piga25

XLDnaute Barbatruc
Bonjour,

Je ne sais pas quelle solution pourra être la meilleur Power Query (je ne connais pas trop) ou du VBA

En vu des prochains jeux olympique de 2020, j'ai une base de données qui comprend les 06 armes de cette discipline. Ce fichier me sert à voir qui est qualifié pour ces prochains jeux olympique. Au fin anonymiser ce fichier j'ai laissé qu'une seule arme (Epée Dame: ED). Je pense avoir enlevé toutes les liaisons.

Mon problème:
Suite au nouveau règlement pour désigner les qualifiés j’ai essayé de remettre mon ancien fichier à jour avec les modifications (feuille data).
Je récupère sur le site de la fédération internationale les résultats des différentes épreuves servant de base pour la qualification au JO (Feuille Données)

De là avec un tableau croisé dynamique je fais un trie sur l’arme que je veux traiter (06 armes : Epée Dame, Epée Homme, Fleuret Dame, Fleuret Homme, Sabre Dame et Sabre Homme) d’où les abréviations ED, EH, FD, FH, SD et SH pour les points. Ici dans le fichier exemple seule ED est traité.

Un second tableau croisé dynamique, en lien direct avec le premier pour le choix de l’arme permet de récupérer les places.

Pour plus de simplicité, il suffit de cliquer sur le bouton "Copier le tableau" sur la feuille TCD pour que toutes les opérations de copie se réalisent.
Mon soucis est le déroulement très long des copies des résultats des deux tableaux croisés dans sa feuille concernée. Je cherche un moyen pour optimiser cette opération, sachant qu’il faut (je peux me tromper sur le procès du déroulement):
  • Copier en premier le tableau croisé des points (TCD)
  • Copier en second le tableau croisé des places (TCD place)
  • Trier en premier la copie du tableau croisé des places.
  • Trier enfin le tableau des points
Normalement toutes les formules fonctionnent bien.
- Calcul des points (Pour certaines épreuves seules les meilleurs sont retenues).
- Pour affecter une valeur suivant les places le n° de ligne / 1000000 et additionner aux points comme cela cela ne se voit pas visuellement sur la valeur entière des points.

Ce qui apparaît sur les feuilles ED, EH et suivantes à partir de la colonne BO provient d’un autre fichier (fait sur les mêmes bases mais concernant les équipes).

Le fichier dépassant la taille d'XLD voici le lien pour l'avoir : https://transfernow.net/e0kcd3l0x836 (prendre le fichier sur le post #2)

Je sais que cela ne se fait pas de procéder de cette façon, mais je suis réellement coincé.
Merci à celui ou ceux qui voudront bien m'aider.

Très cordialement
Piga 25
 
Dernière édition:

piga25

XLDnaute Barbatruc
Bonjour le forum

Après pas mal d'essai j'ai réussi à vous faire un fichier exemple ne contenant pas beaucoup de données.
Dans celui-ci on voit bien le déroulement des macros.
Le résultat final du classement est celui de l'ordre chronologique des noms (feuille ED), on peut remarquer que dame 4 à le même nombre de points que dame 5. Elles sont départagées en fonction de leur place (Tableau3 dans la feuille TCD place).

Nota: pour une arme (Epée homme) les tableaux TCD ont environ 2500 lignes et font environs 30 compétitions.

Merci
 

Pièces jointes

  • Model pour aide 1.xlsm
    394.2 KB · Affichages: 15

Discussions similaires

Réponses
4
Affichages
700

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 679
dernier inscrit
Yupanki