Réalisation d'horaire de passage (automatique) épreuve sportive [Résolu]

olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - 25 mars 2017 à 13:56 - Dernière réponse : eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention
- 20 avril 2017 à 22:02
Bonjour,

dans un classeur excel a l’intérieur duquel ce trouve entre autre une feuille "Horaires",
je cherche une solution pour créer (automatiquement éventuellement via une macro) un horaire de passage (colonne K) pour les candidats inscrits (uniquement entre 1 et 40) et de les incrémenter de la durée prévue de l'épreuve (cellule K9)
avec la possibilité en cour d'épreuve d'inclure une pause pour les juges (durée fixée en K10)

si quelqu'un avait une idée a me suggérer cela me rendrait un très grand service.
Merci d'avance a vous tous.

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

Afficher la suite 

47 réponses

Répondre au sujet
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - Modifié par eriiic le 25/03/2017 à 14:35
0
Utile
2
Bonjour,

en K13 :
=SI(B13="Pause";"";SI(B12="Pause";K11+$K$10;SI(B13="";"";K12+$K$9)))

en A12 :
=SI(B12="pause";"";MAX($A$11:A11)+1)

Saisir la pause en B à la place d'un cavalier.
eric

fichier : http://www.cjoint.com/c/GCznIULB4NH
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
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - 25 mars 2017 à 15:34
Merci pour ton aide.
cela me donne une piste a explorer.
Je aperçois que j'ai pas été suffisamment claire dans mon explication:

1° l'idée de départ est que la feuille "Horaires" récupère les information de la feuille "Info+Engagés" afin d'éviter une double saisie.

2° l'insertion d'une ligne pause dans la feuille 'Horaire' ne pause pas de problème en soit mais comment faire pour pour que cela ne perturbe pas la récupération des 'info+Engagés' situés après la "pause".

3° Dans l'exemple que tu m'as joint le cavalier 5 passe a 08:32 comme son épreuve dure 00:08 min il termine donc a 08:40 les juges ont une pause de 00:10 min le candidat 6 doit donc passer a 08:50 et non 08:42.

4° Dans ton exemple pourquoi le calcule s'interrompt il après le N° 8 ?
Et enfin comment faire pour que ce calcul d'horaire s’arrête après le dernier candidat ( après le 10 si il sont 10 après le 30 si il sont 30 etc.....?)

je sais que cela fait beaucoup de question en 1 fois..
mais si tu avais 1 ou 2 éléments de réponse je suis preneur.

encore merci pour ton aide.

Olis
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 25 mars 2017 à 15:55
1) j'aurais tendance à dire pourquoi une 2nde feuille alors ?
Tu n'y as que Robe en moins. Elle présente peu d'intérêt, autant ajouter un champ horaire à la 1ère non ?
2) propose si tu as une autre idée pour ce fonctionnement
3) c'est ce que j'avais fait en premier jet, la formule est plus simple :
=SI(B12="Pause";K12+$K$10;SI(B13="";"";K12+$K$9))

4) pourquoi le calcule s'interrompt il après le N° 8 ?
il ne s'interrompt pas
comment faire pour que ce calcul d'horaire s’arrête après le dernier candidat
C'est ce que ça fait

Répond déjà aux 1 et 2, on verra ensuite pour compléter et voir si on passe en vba
Commenter la réponse de eriiic
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - Modifié par olis8319 le 25/03/2017 à 17:19
0
Utile
10
Re bonjour Eric

l'idée de départ est que la feuille "Horaires"
l’insertion d'une feuille spécifique me semble indispensable car la feuille 'Info+Engagés' renvoie des valeurs vers les 40 feuilles 'Cav' ainsi que dans la feuille 'Résultats' et l'insertion d'une ligne "pause" perturberais l'ensemble du classeur ou alors il faudrait revoir tout le classeur. Sachant qu'en plus j'ai 101 classeurs qui répondent a des niveaux de compétitions différentes.

l'insertion d'une ligne pause
Malheureusement étant plus que limité dans l'utilisation d'Excel, je n'ai pas grand chose a proposer. C'est la raison pour laquelle je sollicite ton aide.

Dans l'exemple que tu m'as joint le cavalier 5 passe a 08:32
Je pense, grâce a toi, avoir solutionné le problème de la manière suivante.

=SI(B13="Pause";"";SI(B12="Pause";K11+$K$9+$K$10;SI(B13="";"";K12+$K$9)))

Dans ton exemple pourquoi le calcule s'interrompt
Tu as tout a fait raison le calcul ne s’interrompt pas. je n'ai pas fais attention au fait qu'il fallait que la colonne B soit remplie pour que le calcul se poursuive.

En résumé il ne persiste plus que le problème N°2 pour lequel je sollicite de l'aide.
Ainsi qu'une autre chose que j'avais oublier. Il peu arriver que la personne qui gère les horaires de passage décide de ne pas forcement faire passer les cavaliers selon leur n° de dossard (Ex si un cavalier a 2 chevaux dans la même épreuve, si ces n° de départ sont 1 et 2 cela est matériellement impossible la personne en charge des horaires le ferra donc passer en 1 et 15 par exemple)

Quoi qu'il arrive tous les éléments que tu m'a apportés m'on été très utile.

Cdt Olis
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention > eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 26 mars 2017 à 13:59
Non c'est ce que je constate dans l'exemple ci joint lorsque que dans la feuille 'horaires' je double clic sur Jean (n° 5) et que le fais passer en position 14
http://www.cjoint.com/c/GCAjpWX0Pyg

Pour les pauses
Sachant que le nombre d'engagés dans une épreuve est en 1 et 40 maxi, le nombre de pause pour les jurys varie entre 0 et 3 Maxi. Elle sont disposées le plus intelligemment possible par l'organisateur mais sans règles stricte.


En tout cas merci et bonne après midi.

Olis
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 26 mars 2017 à 14:04
Un cheval peut-il apparaitre 2 fois également ou c'est totalement exclu ?
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention > eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 26 mars 2017 à 16:32
Cela est effectivement possible dans un niveau d'épreuve appelé "Club" destiné au enfants et cavaliers débutants et également en "Para équestre" destiné aux personnes en situation de handicap.
mais interdit dans les autres niveau "Amateur" et "Pro" pour une question de respect animal.

donc on peu dire que Oui c'est possible.
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 28 mars 2017 à 00:17
Bonjour,

Je ne t'oublie pas mais un peu occupé en ce moment.
Demain sans doute des news.
eric
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention > eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 28 mars 2017 à 11:31
Pas de souci C'est déjà super sympa d'accepté de t'en occuper.

Olis
Commenter la réponse de olis8319
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 29 mars 2017 à 18:57
0
Utile
2
Bonjour,

désolé pour le contretemps...
Donc j'ai fait les principales modifs. Les voici pour te faire patienter mais il va falloir que je me relise, il y aura peut-être des ajustements ultérieurs.

Plus de formule sur la feuille Horaires, je ramène tout par macro.
Du coup peut-il y avoir des corrections apportées sur la feuille Engagés qu'il faille reporter dans Horaires ? Par exemple simplement une correction orthographique.
https://mon-partage.fr/f/Ol2exhS0/
eric
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - 30 mars 2017 à 18:33
Bonjour, ça a l'air parfait...
mais j'aurais quelques questions:

1° à l'ouverture du fichier, excel me dit que la mise à jour des liens a été désactivée.
avec 1 ordi j'ai réussi à les activer mais avec un 2° ordi impossible. Quelle peut en être l'origine à ton sens?
2° Le travail que tu as réalisé averti bien l'utilisateur de la proximité de 2 départs trop proches pour un même cavalier. Est il possible facilement qu'il avertisse également de 2 départs trop proches pour un même cheval.
3° Comment dois je procéder pour que le calcul des heures de passage s’arrête au dernier couple (exemple: 14 si il y a 14 engagés etc...)

Pour finir

L'objet de ce travail est de le donner gratuitement aux petits centres équestre de France afin de les aider à organiser des compétitions dans cette discipline et cette partie comptabilité est pour eux un véritable frein.

1° Pour les utilisateurs cet outil doit être facilement utilisable par des novices d'excel, et c'est la raison pour laquelle la quasi totalité des feuilles sont verrouillées.
Si je protège la feuille 'horaires' par mot de passe le déplacement d'un cavalier devient impossible. Y a t'il moyen d'y remédier ?

2° Pour moi Ce travail regroupe 101 classeurs correspondant à des niveaux de difficulté différents.Je vais donc devoir rajouter cette feuille 'Horaires' et les macros qui s'y rattachent aux 100 classeurs restants
J'ai identifié une macro 'init' Lorsque je vais dans l'onglet développeur Macros Modifier je l'a vois bien devant les 4 miennes et j'ai également identifié 3 autres macros; 'feuil43.ControleDepart' 'feuil43.Horaires' et feuil43.rafraichir mais où recopier ces 3 dernières lors des mises à jour des classeurs restants car je ne sais pas où les mettre sinon à la suite du premier groupe de macro (init et les 4 miennes)?

Si tu n'as pas le temps ce que je peux comprendre, pas de problème, rien est urgent pour le moment... en tout cas je te remercie encore par avance!!!

cordialement
Olis
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - 30 mars 2017 à 19:35
Si l’intégration de cette nouvelle feuille dans 100 classeurs s’avère trop longue et compliqué il me reste la solution de créer un classeur a part ou les utilisateurs apporteront les données par copié coller.
Commenter la réponse de eriiic
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention - 29 mars 2017 à 23:33
0
Utile
29
Je regarde ça au plus vite malheureusement pas avant demain fin d'après midi (journée de boulot bien pourrie) En tout cas je te remercie par avance.
Cela fait plusieur fois que je fais appel à la communauté CCM et franchement je vante vos mérites régulièrement vous êtes tout au Top.
Cdt Olis
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 18 avril 2017 à 00:47
Bonjour,

Je faisais référence au post 39 :
PS : on peut prévoir des écarts de départ minimum différents pour les cavaliers et les chevaux si les contraintes ne sont pas les mêmes.
Tu dis si ça peut être intéressant.

resté sans réponse...
Même si pas intéressant je l'ai ajouté. A fixer dans la feuille Accueil en P2:P3.
Une modification entraine une ré-évaluation de toutes les feuilles. Contrôler visuellement les nouvelles alertes sur chaque.

Le seul problème est que lorsque tu écris:
' nom des feuilles horaire
Const nomF As Boolean = True
' True : "nom de l'épreuve"
' False : "Epreuve x"
j'ai beau y mettre toute mon attention cela ne signifie absolument rien pour moi

Ne pas chercher du compliqué.
Si tu laisses
Const nomF As Boolean = True
les feuilles s'appellent du nom de l'épreuve,
si tu mets
Const nomF As Boolean = False
les feuilles s'appellent Epreuve 1, Epreuve 2, etc comme tu l'avais demandé.

Donc j'ai complété le nommage des feuilles.
Le dico est à compléter en Feuille Accueil L:M (ne rien y mettre d'autre).
Tu peux aussi y mettre des mots à supprimer en laissant vide la colonne M. Par exemple "des " (avec un espace). "Grand Prix des prairies" s’abrégera "Gp prairies", ça fait 4 car. de plus de gagnés.
"IV" remplacé par "IV ". Sinon "vive" deviendrait "v4e" qui ne veut rien dire. Se méfier des abréviations pouvant être des parties de mots.
Tu peux masquer ensuite ces colonnes L:M

Si plusieurs courses amènent au même nom de feuille, la suivante se verra ajouter un 2 à la fin, puis un 3, ..., jusqu'à 9.
Et s'il y a un 10e doublon (il fallait prévoir le cas même si ça n'arrive jamais) une boite s'ouvre pour demander le nom à mettre.
Pas vraiment testé à fond vue l'heure, je te laisse cette partie
Et j'espère ne pas avoir écrit tout ça pour rien ;-)
https://mon-partage.fr/f/8rgNZuJA/
eric
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention > eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 18 avril 2017 à 22:30
Bonsoir Eriiic
Si une chose est sur c est que tu n'as pas écrit ca pour rien. J ai fait un essai rapide et tout à l aire de fonctionner merveilleusement et idéalement bien. Je ferai d autres tests demain après midi.
Le seul truc qui m'exaspère c est que je ne comprend pas comment cela fonctionne. Je n ai rien vu dans la macro qui fait référence au abréviations des mots récurrents.

Bref t es au TOP Eriiic
Cdt
Olis
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 18 avril 2017 à 23:06
C'est dans la Sub nommerFeuille()
    With Sheets("Accueil")
dict = .[L2].Resize(.Cells(Rows.Count, 12).End(xlUp).Row - 1, 2).Value
End With
récupère la liste dans un tableau

    For lig = 1 To UBound(dict)
epreuve = Replace(epreuve, dict(lig, 1), dict(lig, 2))
Next lig
remplace les mots par leur abréviation.

eric
olis8319 55 Messages postés samedi 21 janvier 2017Date d'inscription 11 octobre 2017 Dernière intervention > eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 20 avril 2017 à 19:33
Bonjour Eriiic
j'ai enfin trouver le temps de tester le classeur 'Horaire de passage'
tout fonctionne bien:
les noms de feuille abrégés
les alertes départ trop proches cavaliers et chevaux
l'insertion des pauses

et la modification des temps cavalier chevaux en colonne P2:P3 de la feuille 'accueil'

seul petit détail a chaque fois que je veux modifier un écart Excel m'annonce une erreur 1004 (la méthode sélect de l'objet worksheet a échouée)
mais bizarrement il prend quand même en compte la modification.

Cdt
Olis
eriiic 21190 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 20 avril 2017 à 22:02
Bonjour,

La prochaine fois soit plus précis :
sur telle feuille, telle cellule je saisi ça et erreur 1004 sur telle ligne de code (celle surlignée en jaune)

Oui, petite erreur de ma part, il était tard ;-)
Dans ThisWorkbook ,
Private Sub App_SheetChange(ByVal sh As Object, ByVal Target As Range)
remplacer :
sh2.Select
par :
sh2.Activate


Et pour faire bonne mesure, 4 lignes plus bas remplacer pour avoir :
Sheets("Accueil").Activate
eric
Commenter la réponse de olis8319