GESTION DE CROSS COUNTRY classement d'équipes

Résolu/Fermé
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 - Modifié par amiralS le 15/10/2016 à 16:25
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 27 oct. 2016 à 13:11
Bonjour,
Je cherche à automatiser des actions que je fais aujourd'hui manuellement.

A partir de résultats individuels d'un cross scolaire inter-établissements je souhaite réaliser un classement par équipes mixtes (3 Filles +3 Garçons) à partir d'un tableau excel contenant les classements individuels des filles et des garçons dans leur course respective.
Je suis parti de l'idée d'un tableau croisée dynamique mais étant novice j'en arrive à des manipulations pour arriver au résultat souhaité qui pourraient peut être se simplifier.
J'ai confectionné un classeur excel pour exemple à fournir et explication. Comment puis je joindre ce classeur à ma demande d'aide?
Je remercie d'avance ceux qui pourront me guider dans ma démarche

Lien vers le fichier exemple
http://www.cjoint.com/c/FJpoyocbPF3

A voir également:

8 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
15 oct. 2016 à 16:23
Bonjour,

cjoint.com et coller le lien fourni ici.
eric
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
15 oct. 2016 à 16:33
Bonjour,

J'ai rajouté le lien dans ma demande initiale après m'être remémoré de la démarche:

http://www.cjoint.com/c/FJpoyocbPF3

Merci en avance pour l'aide

amiralS
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 15/10/2016 à 17:20
Je t'ai ajouté une colonne avec des noms d'équipe (plus une intermédiaire pour la clarté mais tu peux regrouper les 2 en une).
Dis si ça te va pour continuer avec les TCD.
https://www.cjoint.com/c/FJpprA4oSzn
eric
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
15 oct. 2016 à 17:43
Merci
C'est déjà un progrès par rapport à mon classeur initial.
Ça me va pour continuer
Comment faire ensuite dans le TCD pour regrouper tous les coureurs de chacune des équipes sur une seule ligne pour ensuite les classer
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
15 oct. 2016 à 19:09
Ah, je pensais que tu laissais un par ligne.
Ca il faudrait une fonction personnalisée mais là je dois m'absenter.
Précise sous quelle forme exacte tu veux qu'elle apparaisse.
Juste "NOMS Prénoms - NOMS Prénoms - ..." ?
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
15 oct. 2016 à 19:23
Pas de souci. Tu m'as déjà bien aidé et j'arrive à avoir un TCD qui me regroupe en colonne les 6 coureurs par équipe. Je me sers de la fonction concatener pour obtenir les noms en ligne et ensuite je tri pour le classement.
J'avais juste le souci de ne pas trouver exactement les mêmes résultats avec ma méthode de départ et maintenant. Je m'aperçois que c'est un problème de doublons dans les noms (c'est un risque avec des noms ne comportant que les trois premières lettres) dans ce cas le rang correspond à la somme des rangs des doublons.
Je te remercie encore de ton aide précieuse.
Je vais essayer tout cela avec un fichier complet de résultats de cross précédents.
Encore merci et je te dirai comment je m'en sort.
Bonne soirée
AmiralS
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
15 oct. 2016 à 18:17
Avec les numéros d'équipe j'arrive à avoir dans la même colonne les équipes constituées dans mon TCD.
J'ai juste un petit soucis parce que je ne trouve pas toujours le même résultat en comparant avec ce que j'avais obtenu avec ma méthode initiale.
Je regarde où il y a un problème et je t'informe.
Nous sommes sur la bonne voie.
Merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
15 oct. 2016 à 23:03
J'ai quand même terminé ce que j'avais commencé. Voit si ça t'intéresse.

Cliquer en J1 pour avoir les équipes.
Si tu as d'autres feuilles exactement sur le même modèle il te suffit d'y ajouter un bouton pointant sur la même macro.

Ca m'embêtait d'avoir toujours les filles en dernier.
J'ai donc mis en alternance F et M, avec autant d'équipe commençant par F que d'équipe commençant par M. (aléatoire pour le reliquat si équipes impaires)
Comme maintenant c'est au programme ça donnera une occasion de plus d'en parler, et de le vivre ;-)
Regarde si je ne me suis pas fait de noeuds dans les listes équipe.
https://www.cjoint.com/c/FJpu77aiXEn
eric

0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
16 oct. 2016 à 11:15
Re Bonjour Eric

J'ai testé la macro avec un fichier cross complet ça marche très bien en conservant la structure du tableau avec les résultats dans les colonnes de A à F deux colonnes G et H pour les calculs du nb d'équipes et Équipes et en J K et L le tableau généré par ta macro.
J'ai voulu inscrire les rangs dans la colonne M et la si je clique sur le bouton de la macro tous les résultats du tableau A à H disparaissent il ne reste que le tableau des résultats par équipes.
J'ai regardé ce que je pouvais modifier dans la macro mais je n'ai pas l'expertise nécessaire.
Comment procéder pour que le tableau des résultats s'affiche dans un autre onglet où je pourrais ajouter le rang dans une colonne et formater la feuille pour affichage.
Et/Ou
Comment modifier la macro, si dans mon tableau de résultats j'ajoute des colonnes où figureront le n° de dossard (G), les temps de parcours (H) et la vitesse (I),
Le tableau des résultats individuels s'étendrait des colonne A à I en J la colonne calculée du Nb d'équipes et en K la colonne calculée des Équipes. Le tableau des résultats par équipes s'affiche dans les colonnes suivantes ou dans une autre feuille.

Je ne veux pas abuser de ton temps donc pas d'urgence ce que tu as déjà fait va me permettre de mener à bien et dans de bonnes conditions la gestion de mon cross scolaire.
Merci d'avance
amiralS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
16 oct. 2016 à 08:08
Bonjour Eric

En deux mots: Merci et Bravo.

Un grand merci pour le travail fourni et le résultat qui correspond exactement à mon attente.

Je n'ai relevé aucune erreur. Je vais tester tout cela avec les résultats du cross 2015.

Bonne continuation
amiralS
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 16/10/2016 à 12:47
Bonjour,

je n'ai pas bien compris ce que tu voulais faire...

Quoiqu'il en soit il faut une colonne vide de part et d'autre de J:K à cause de :
[J2].CurrentRegion.Offset(1).ClearContents
qui nettoie le précédent résultat, sinon tu pourrais avoir des anciennes lignes qui fausseraient tout.

Si tu as besoin d'un champ en plus dans le résultat il faut augmenter la 2nde taille de :
ReDim result(1 To dictEquCo.Count, 1 To 3), mettre 1 to 4.
(d'ailleurs plus haut tu peux supprimer ReDim result(1 To UBound(datas, 1), 1 To UBound(datas, 2)) qui n'a plus de raison d'être)

et ajouter son calcul dans (ça pourrait être ailleurs mais comme je ne sais pas ce que tu veux faire exactement...) :
    ' inscription scores et équipiers
    For lig = 1 To UBound(datas, 1)
        If datas(lig, 8) <> "" Then
            result(dictEquCo(datas(lig, 8)), 2) = result(dictEquCo(datas(lig, 8)), 2) + datas(lig, 1)
            result(dictEquCo(datas(lig, 8)), 3) = result(dictEquCo(datas(lig, 8)), 3) & "-" & datas(lig, 2)
        End If
    Next lig

result(dictEquCo(datas(lig, 8)), 2) = ...
dictEquCo(datas(lig, 8)) te ramène la ligne du tableau Result() du nom de l'équipe lue dans H, et te permet d'inscrire ton calcul dans la colonne 2 du tableau (qui sera en K).
Une capture pour essayer de t'éclairer :

eric

PS : tu peux nettoyer la section des Dim, j'ai oublié de le faire.
Il doit rester :
    Dim datas, result()
    Dim lig As Long, k
    Dim dictEquCo
    Dim tmp, tmp2(1 To 6) As String, alea As Boolean


En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
16 oct. 2016 à 14:46
Bonjour,
Depuis mon application de gestion du cross je réalise une extraction des résultats vers une feuille excel.Je sélectionne et copie les données contenues dans les colonnes A à I je colle ces données (valeurs) dans les colonnes équivalentes de l'onglet IndividuelsBenjamins B1 (bleu dans le fichier exemple joint), j'ai préalablement crée un fichier spécifique pour recueillir les résultats individuels et réaliser le classement par équipes (objet de ma demande d'aide).
Ce fichier spécifique est spécialement mis en forme pour recueillir les résultats les traiter et les imprimer proprement dans "la foulée" (pour un cross c'est le moins que l'on puisse faire...
L'idée est donc de recueillir les résultats individuels dans une feuille du classeur pré-formaté cellules et en-tête et après traitement de retrouver les résultats par équipes dans la feuille Equipes-Benjamins-B1 (jaune dans le fichier exemple).
Dans le fichier exemple que je joins j'ai enlevé le bouton qui lance la macro (que je remettrai pour la version définitive).
J'ai d'abord lancé la macro avant de rajouter la colonne RANG à droite du tableau classement des équipes ensuite j'ai copié le tableau (qui peut aussi rester la) dans l'onglet EquipesBenjamins-B1 de cette façon je peux mettre une en-tête correspondant au Classement par équipe.
Je joins le fichier qui donne une vue de l'état final que j'aimerai obtenir

https://www.cjoint.com/c/FJqmS5adNl3

J'espère que mes explications sont claires.

Merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
16 oct. 2016 à 15:47
mais si c'est ce que tu veux la macro peut très bien coller le résultat équipe seul dans une autre feuille, et la créer à partir d'un modèle fourni au besoin.
Voire même tout créer en partant de l'extraction directement. Le tout est de savoir quoi, avec quoi et d'avoir les feuilles modèle de mise en forme des résultats.
Parce que là je ne vois pas bien la différence entre les 2 feuilles... :-)

Par contre il faut être plus rigoureux au niveau des noms des feuilles :
Equipes-Benjamins-B1
vs
IndividuelsBenjamins B1
séparateur différent et absence du 1er. Décide-toi sur une règle de nommage
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
16 oct. 2016 à 16:11
PS : si ton soucis est uniquement l'impression tu peux rester sur une même feuille et un bouton Imprimer qui te sélectionne successivement les 2 zones d'impression et t'envoie dans le preview pour confirmer ou non chacune.
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
16 oct. 2016 à 21:05
Bonsoir,

Tout à fait d'accord pour le nommage.
Pour l'impression je peux faire deux "macro" avec boutons sur une feuille pour imprimer les résultats individuels de chaque catégorie, (ici les BF1 et les BG1 ) et classement des équipes mixtes Benjamins-1.
Je te dis comment je procède.
Après la course des BF1 je colle les résultats dans une feuille modèle que je vais appeler Individuel-BF1. Après la course des BG1 je vais coller les résultats dans la feuille modèle que je nomme Individuel-BG1. Dans une troisième feuille du même modèle je colle les résultats BF1 ET BG1 à la suite les uns des autres avec leurs résultats respectif par catégories (BF1 et BG1) (c'est la feuille qui correspond à Equipe-Benjamins-B1 dans mon classeur exemple) c'est la que je fais le traitement avec tes formules et ta macro pour obtenir un classement par équipes mixtes (3BF1 avec 3BG1 BF1 = Benjamines Filles 1ère année et BG1 = Benjamins Garçons 1ère année) dans cette feuille je peux garder la garder telle qu'elle est dans mon fichier exemple et pour l'impression je détermine au départ la zone d'impression et je mets le titre dans l'en-tête.
J'ai donc une feuille Individuels-BF1 une feuille Individuels-BG1 avec chacune l'en-tête correspondant à la course et enfin une feuille Equipes-Benjamins-B1 dans laquelle les données à exploitées ( résultats BF1 + résultats BG1) seront dans les colonnes A à I les deux colonnes J et K servent aux formules permettant d'obtenir les noms d'équipes et dans les colonnes M N O P je retrouve le classement par équipes Equipes Score Equipiers et RANGS la je détermine la zone d'impression pour n'imprimer que le classement par équipe pour cette feuille je met aussi l'en-tête correspond au classement par équipes.
Je peux pour chaque feuile que je vais imprimer mettre un bouton avec une macro correspondant à ce que j'imprime.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
20 oct. 2016 à 23:02
Bonjour,

j'avais un peu perdu de vue ce topic, trop occupé...
Je ne sais plus trop où tu en es et si tu as encore besoin d'un coup de main.
eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 23/10/2016 à 22:33
Bonjour,

Bon, ayant tous les tenants et aboutissants j'ai repris à 0.
Tu n'avais pas l'air décidé pour avoir des noms de feuille gérables j'ai donc fait autrement avec du coup des (légères) contraintes :
- la création des feuilles est à ta charge (de toute façon elles n'ont pas l'air d'évoluer beaucoup et sont réutilisables)
- la feuille par équipe doit suivre dans l'ordre les feuilles individuelles F puis G.

Les feuille F et G ont un bouton Importer. C'est un fichier export xls qui est attendu.
La feuille Equipe se met à jour à chaque sélection de la feuille (pas de risque d'oubli si les données ont évolué), en fonction de l'état des feuilles F et G à cet instant.
Le nom doit se terminer par "Mixte" avec D1="Equipiers" pour que la feuille soit reconnue.
Plus de formule, tout par macro. Cette partie toute neuve est donc à contrôler avec différents cas de figure.

Pour les en-têtes on verra ensuite, sans rien te garantir car j'avais fait des essais non concluants lorsque tu les avais sur 2 lignes (longs)
Contrôle déjà à fond cette partie.
Quand le débogage sera fini (pas avant, un problème à la fois) tu mettras complètement au propre la mise en page que tu souhaites (feuilles et en-têtes corrects) et on verra comment ça se présente pour la suite.
https://www.cjoint.com/c/FJxuCGKPFHQ
eric
En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2
23 oct. 2016 à 23:57
Bonsoir eric
J'ai bien reçu ton travail, j'ai rapidement fait des essais qui sont concluants je vais continuer après une bonne nuit de sommeil.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
25 oct. 2016 à 11:58
Bonjour,

Comme apparemment tu as eu un bon départ j'ai continué.
Un essai sur les entêtes avec une nouvelle feuille Param.
Les nouvelles feuilles de classement sont ajoutées automatiquement dans la liste.
Si 'Suite en-tête centre' en B8:B24 est vide pour une feuille, l'entête de la feuille n'est pas modifié.

Par contre la gestion des entêtes en vba parait largement boguée, je ne te garantie pas un fonctionnement correct sur la durée.
Le phénomène se manifeste par la suppression de 4 caractères à la fin des 3 zones d'entête. Et si tu relances tu en perds 4 de plus, etc. Et voire même un blocage complet d'excel pour faire bonne mesure...
Cette version est à peu près stable (?!? à voir sur ta config).
Si soucis :
1) retenter après avoir fermé excel
2) si toujours des pb, ça fonctionne en mode pas à pas :
- réactiver les deux ': Stop (en enlevant la ' devant) dans la proc Sub entete() du module de la feuille Param.
- faire F5 à chaque arrêt du débogueur (2 par feuille à mettre à jour)
3) sinon le faire manuellement comme actuellement...
https://www.cjoint.com/c/FJzjQwckT7Q
eric
0
amiralS Messages postés 46 Date d'inscription samedi 26 octobre 2013 Statut Membre Dernière intervention 21 février 2020 2 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
27 oct. 2016 à 12:31
Bonjour Eric
Je travaille avec le fichier. Tout ce que tu as fait fonctionne très bien. J'ai fait des essais avec d'autres données pour faire un classement 'un cross de collège en remplaçant les noms de collège par les noms de classes.
Tout fonctionne bien.
Je dois me pencher (mon but est aussi d'apprendre à "coder" en VBA) sur les lignes que tu as écrites pour obtenir les classements par équipes.
A mon niveau de débutant je me suis amuser à créer une page d'accueil avec des boutons qui envoient aux différents classement (je peux masquer ou non les onglets du classeur) j'ai crée un bouton qui me permet de lancer un aperçu écran avec juste les données à imprimer (pas de page vide) .... Je te donnerai le résultats de mes avancées.
Une question tout de même: est - il possible dans les paramètres d'avoir une interface (type userform) permettant de varier les possibilités de former des équipes. Dans ce classeur nous étions parti sur 3 filles avec 3 garcons par équipes.. Est ce qu'il serait possible de changer simplement le formation des équipes.Exemple : 4 filles + 4 garçons ou x Filles ou x garçons ou x filles + y garçons.
Il n'y a pas d'urgence, si je peux savoir déjà si c'est du domaine du possible je ne chercherai pas inutilement.
Toujours est-il que ce qui est déjà fait me convient très bien et grâce à toi.
Je te remercie.
Je t'enverrai mon fichier dès que je l'aura mis "au propre".

Sergei
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
27 oct. 2016 à 13:11
Bonjour,

j'ai introduit une variable tailleEqu = [Taille_équipe] dans Sub cl_mixte()
(copier-coller le code dans ton nouveau classeur).
[Taille_équipe] : cellule nommée de Param

C'est x filles + x garçons. Pour x filles + y garçons il faudrait revoir plus en profondeur à cause de l'alternance F/G mise ici au moment de la création et non par une boucle finale comme avant.
J'ai fait le minimum en test : ne plante pas. Je te laisse contrôler dans le détail.
https://www.cjoint.com/c/FJBlkvwdTdQ
eric
0