XL 2016 Modification fichier Excel pour chrono kart avec cellule IR

mada16

XLDnaute Nouveau
Bonjour à tous,

je reviens sur le forum après quelques années pour essayer de modifier le fichier que j'avais obtenu grâce à l'aide de plusieurs membres, dont notamment "dranreb" qui m'avait été d'un très grand secours (et les mots sont faibles...).
Je tiens à noter que je n'ai absolument pas progressé depuis...
Pour résumer, j'ai un fichier Excel avec du VBA qui me sert à chronométrer des karts lors d'une course de côte. Il y a un fichier sur le départ qui enregistre les horaires de passages de chaque kart par appui sur touche clavier, un autre à l'arrivée pour la même chose, et à la fin de la course, on fait un copier/coller de l'un vers l'autre pour obtenir les temps de montée. Système simple, mais qui nécessite deux ordis, dont la synchronisation des horloges n'est pas toujours précise donc les temps sont légèrement faussés.
Depuis l'an passé on a changé de système, et on a opté pour un chrono électronique à base de cellule IR, le pupitre de contrôle est à l'arrivée, il y a un câble entre départ et arrivée pour transmettre le contact de la cellule départ. On note manuellement chaque chrono, à la fin on fait un tri pour le classement. C'est plus précis (top passage sur cellule IR), plus juste (pas de possibilité de retarder ou avancer un top par un juge corrompu...)mais plus fastidieux (recopie des temps).
Cette année, nous aimerions "lier" les deux systèmes, c'est à dire faire entrer le signal des cellules dans le fichier Excel. Cela est possible grâce à une interface Arduino qui est capable de transformer le contact "tout ou rien" des cellules en appui sur touche clavier.
Il me reste juste à changer un peu le fichier et le code, et c'est là où je deviens nul. J'ai bien compris quelques bases du VBA, mais loin de moi l'idée de réussir à comprendre ou améliorer un code.
J'en appelle donc aux vrais pros, pour qui le VBA n'a plus de secret, et qui sauront certainement résoudre ce problème en moins de temps qu'il ne m'a fallu pour écrire ce post.
A partir du fichier existant, je souhaiterais donc n'utiliser qu'une seule feuille de calcul. La préparation du fichier (remplissage des cellules N° kart, Nom, Club, Cat) se ferait en amont.
A l'ouverture du fichier, il n'y a plus qu'à sélectionner le N° de kart présent sur la ligne de départ par un click sur sa cellule : à ce moment là, le userform (horaire qui défile) apparaît juste à coté de la cellule où sera inscrit l'horaire. C'est comme ça actuellement.
Au moment ou le kart franchit la ligne de départ (passage devant cellule IR) il y aura transmission par l'arduino d'un appui sur une touche prédéfini du clavier (barre espace par exemple)
C'est cet appui qu'il faut "préciser" dans le code, car actuellement c'est un appui sur n'importe quelle touche ou un click sur le bouton vert du userform.
Au moment de cet appui, l'horaire dans le userform se fige et s'inscrit dans la cellule de la colonne départ du kart concerné. Le bouton passe rouge. C'est comme ça actuellement.
Le bouton rouge du userform ne repasse au vert que quand on aura sélectionné un autre kart...C'est comme ça actuellement...et c'est là que ça se complique!!!
Si on sélectionne un autre kart qui n'est pas encore parti, donc sans horaire dans sa cellule départ, pas de soucis, on retrouve le userform à coté de la cellule. C'est le cas où le kart précédent n'est pas encore arrivé, mais que le suivant est en train de partir.
Par contre, si on sélectionne un kart déjà parti, avec un horaire dans la cellule départ, il faudrait que le userform aille se placer à coté de la cellule arrivée, car c'est là qu'on veut que l'horaire s'inscrive. C'est le cas où le kart va passer devant la cellule arrivée, et on a besoin d'inscrire son horaire de passage. Il faudrait d'ailleurs que ça se fasse par un appui sur une autre touche clavier (enter par exemple). Actuellement, si on sélectionne un kart déjà parti et qu'on appui sur une touche clavier, il y a un nouvel horaire qui s'inscrit dans sa cellule départ...et ça annule donc son chronométrage!!!
Voila, je pense avoir décrit le système clairement, mais ce qui est clair pour moi, ne l'est pas forcément pour les autres. Donc n'hésitez pas à me demander des précisions s'il y a quelque chose qui vous semble confus.
Ci-joint le fichier actuel
Merci d'avance de votre aide
Mada16
 

Pièces jointes

  • chrono 2020 V1.xlsm
    64.7 KB · Affichages: 21

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ai distingué jusqu’à présent le cas où la sélection était manuelle de celle où elle était effectuée depuis l'UFmSélection en ce qui concerne le réaffichage de ce dernier. Mais si vous préfériez qu'il soit toujours réaffiché ce serait possible.
J'ai une version où il a 2 boutons, le second, réagissant aussi à la touche Echap, efface la TextBox et y met le focus. l'UFmChrono aussi réagit spécifiquement à la touche Echap en omettant d'inscrire quoi que ce soit. Dans cette version la saisie du départ ne débouche pas d'office sur celle de l'arrivée, on passe par l'UFmSélection. La nouveauté c'est que le numéro de kart reste affiché. Alors soit on fait simplement Entrée pour la démarrer, soit Echap pour en saisir un autre.
 

Dranreb

XLDnaute Barbatruc
J'ai finalement coupé la poire en deux: le réaffichage de l'UFmSélection ne dépend plus de la manière dont la ligne a été sélectionnée, mais elle n'est pas non plus systématique. Elle est activée lors de l'affichage par le bouton "Choix N° kart", elle est désactivée par sa croix de fermeture. Rappel: la touche Echap est maintenant supportée par les 2 UserForm. Mais pour une raison que j'ignore elle peut ne pas marcher du 1er coup. Plusieur pressions doivent aboutir à une TBxN°kart vide ayant le focus.
 

Pièces jointes

  • ChronoMada16.xlsm
    82.8 KB · Affichages: 10

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki