Signaler

GESTION DE CROSS COUNTRY classement d'équipes [Résolu]

Posez votre question amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - Dernière réponse le 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
Afficher la suite 
Utile
+0
moins plus
Bonjour,

cjoint.com et coller le lien fourni ici.
eric
Ajouter un commentaire
Utile
+0
moins plus
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
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 15 oct. 2016 à 17:18
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.
http://www.cjoint.com/c/FJpprA4oSzn
eric
Répondre
amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 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
Répondre
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 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 - ..." ?
Répondre
amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 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
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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
Ajouter un commentaire
Utile
+0
moins plus
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.
http://www.cjoint.com/c/FJpu77aiXEn
eric

amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 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
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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
Ajouter un commentaire
Utile
+0
moins plus
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
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 22 oct. 2016 à 11:54
Bonjour,

Je ne vais pas m'y mettre tout de suite mais j'ai jeté un oeil.
C'est quand ton prochain cross ?

Super explication détaillée, impeccable. Cependant qq questions :
- le fichier Aperçu écran c'est quoi ? Un xls, xlsx, txt, csv ?
- est-ce toujours le même nom ou as-tu le choix lors de l'export ?
- je suppose que oui mais as-tu le choix du répertoire ?
Si tu pouvais déposer une version originale faite par le logiciel de cross. Ca évitera les surprises.

- en fait dans le classement par équipe tu n'as pas vraiment besoin de B:H. Tu confirmes ?
- Tu préfères 3 feuilles distinctes comme actuellement ou 1 feuille avec les 3 résultats imprimables ?
eric
Répondre
amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 22 oct. 2016 à 16:50
Bonsoir,eric
Mon prochain cross sera pour Octobre 2017 sauf si on fait apel à moi pour le Cross départemental et/ou le cross Académique en décembre.
J'avais commencé ma réponse et je dois tout recommencer après un plantage de firefox.
Le fichier Aperçu écran est un fichier .xls
Dès qu'il est généré il m'est demandé si je veux l'ouvrir ce que je fais et je peux ensuite le renommer et l'enregistrer où je veux.
J'ai trouvé une autre possibilité de générer des fichiers de résultats extraits de CrossPc.voir dans la feuille Explications dans le cadre en vert. Je peux générer un fichier .doc ou un fichier .xls ou un fichier .xml ( ce dernier peut aussi être ouvert avec excel
Je comprend pas le besoin de B:H (c'est à dire le contenu des colonnes de B à H) pour le classement par équipes.
Pour les impressions comme actuellement ça me convient.En définitive je veux obtenir des impression conformes à ce que je vois quand je fais Fichier > Imprimer pour les différentes feuilles BF1 BG1 Classement B1 Mixte, BF2 BG2 Classement B2 Mixte, MF MG ici je n'ai pas de classement par équipe par manque de concurrents pour constituer des équipes mixtes.

http://www.cjoint.com/c/FJwozXWNGG3
http://www.cjoint.com/c/FJwoDMERcA3
http://www.cjoint.com/c/FJwoGrlUka3

Serge
Répondre
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 22 oct. 2016 à 19:06
Je comprend pas le besoin de B:H (c'est à dire le contenu des colonnes de B à H) pour le classement par équipes.
J'étais parti de ce que tu avais fourni ;-)
On les supprimera

C'est quoi Tables.xls ? L'autre format de sortie de ton logiciel ?
Si oui on utilisera plutôt celui-ci
Il est plus propre que Apercu. Le 1/1 en bas me laisse supposer que parfois tu as des 1/2, 2/2 avec en-têtes répétés. Enfin tout ce qu'il faut pour soit mettre le boxon, soit compliquer inutilement.
Répondre
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 22 oct. 2016 à 19:14
PS : si tu nommes autrement tes feuilles on pourrait ajouter une création des 3 onglets sur demande.
Là tu intercales le F et G au milieu, sauf pour le classement par équipe.
Tu pourrais fournir le nom de course B1 et que ça te crée B1 F, B1 G et B1 Mixte par exemple, la régularité n'est pas brisée.
Répondre
amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 22 oct. 2016 à 21:05
Tables.xls est le fichier que j'obtiens si je demamde à CrossPc: "Exporter la Table vers Excel après un clic droit sur l'icône indiquée et commentée dans mon onglet Explications.
Je suis d'accord avec toi, il est plus propre.
Je n'ai pas d'apriori.
De mon logiciel CrossPc je peux exporter une Table contenant les résultats des Benjamins Garçons 1ère année (ce qui correspond à BG1 en abrégé), une Table contenant les résultats des Benjamines Filles 1ère année (BF1 en abrégé), une Table contenant les résultats des Benjamins Garçons 2ème année (BG2), une Table contenant les résultats des Benjamines Filles 2ème année (BF2), une Table contenant les résultats des Minimes Garçons (MG), une Table contenant les résultats des Minimes Filles (MF), une Table contenant les résultats des Cadettes Filles (CF)et une Table contenant les résultats des Cadets Garçons (CF). À partir de ces résultats bruts je veux arriver à imprimer les résultats individuels BF1, BF2, BG1, BG2, MG, MF, CF et CG avec les titres de courses correspondants.
Classement Benjamines Filles 1, Classement Benjamines Filles 2, Classement Benjamins Garçons 1, Classement Benjamins Garçons 2, Classement Minimes Garçons, Classement Minimes Filles, Classement Cadettes Filles, Classement Cadets Garçons et dans ces titres pouvoir insérer le lieu et l’année du cross.
Ensuite pouvoir réaliser les classements par équipes d’établissements 3BF1 + 3BG1, 3BF2 + 3BG2, 3MF + 3MG et enfin 3CF + 3CG.
Même chose pour les titres
Classement par équipes mixtes Benjamins 1, Classement par équipes mixtes Benjamins 2, Classement par équipes mixtes Minimes et Classement par équipe mixtes Cadets.
Entre les données de départ et les résultats à afficher avec les bons titres tu peux procéder comme tu penses que c’est le mieux et le plus efficace
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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.
http://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
Ajouter un commentaire
Utile
+0
moins plus
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.
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 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...
http://www.cjoint.com/c/FJzjQwckT7Q
eric
Répondre
amiralS 23Messages postés samedi 26 octobre 2013Date d'inscription 6 novembre 2016 Dernière intervention - 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
Répondre
eriiic 20019Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 10 décembre 2016 Dernière intervention - 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.
http://www.cjoint.com/c/FJBlkvwdTdQ
eric
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !