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
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