Chrono course de côte

mada16

XLDnaute Nouveau
Re Dranred: "Si vous voulez, il suffit mettre en commentaires quelques instructions 'ÇaTourne = False'. Ok mais où je dois mettre ça???Mais je pense qu'il vaut mieux laisser le champ libre pour sélectionner une autre cellule où l'heure sera à noter dans l'instant prochain, car je doute qu'il faille mettre une autre heure dans la même cellule. D'autant plus qu'il réapparait aussitôt, chez moi il ne réapparait pas, je suis obligé de recliquer sur une cellule pour le voir revenir...sans même avoir besoin d'un délai moyen d'une demi seconde pour se recadrer avec l'heure, car il est juste masqué, non déchargé, ce qui n'est pas le cas si on en demande la fermeture par la croix.
Il est affiché en non modal, de sorte qu'on peut aussi sélectionner une autre cellule pendant qu'il tourne: il se déplacera et prendra en compte l'heure de départ de la nouvelle ligne pour calculer le temps affiché."
 

Dranreb

XLDnaute Barbatruc
Avez vous au moins repéré la programmation de l'UserForm UFmChrono ?
Alt+F11 pour aller dans VBA.
Il y a aussi du code à atteindre par clic droit sur l'onglet, Visualiser le code.

Évidemment qu'il m'avait semblé nécessaire de cliquer sur une autre cellule pour y inscrire un autre heure. Jamais je n'aurais pensé que vous auriez besoin de noter des heures successives toujours dans la même cellule !
Mais dès qu'on sélectionne cette autre cellule l'UserForm réapparait immédiatement sans avoir besoin de se réinitialiser.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ai fait des essais, je trouve même perturbant de ne pas masquer l'UserForm: si on a les yeux rivés dessus on a l'impression qu'il ne s'est rien passé, et donc le sentiment que l'heure n'a pas été inscrite dans la cellule sélectionnée. Il faudrait au moins qu'il se fige, que le bouton rouge change de couleur et serve à relancer l'affichage de l'heure, non ?
 
Dernière édition:

mada16

XLDnaute Nouveau
Avez vous au moins repéré la programmation de l'UserForm UFmChrono ?
Alt+F11 pour aller dans VBA.
Il y a aussi du code à atteindre par clic droit sur l'onglet, Visualiser le code.

Évidemment qu'il m'avait semblé nécessaire de cliquer sur une autre cellule pour y inscrire un autre heure. Jamais je n'aurais pensé que vous auriez besoin de noter des heures successives toujours dans la même cellule !
Mais dès qu'on sélectionne cette autre cellule l'UserForm réapparait immédiatement sans avoir besoin de se réinitialiser.
Bonjour Dranreb,
Oui, je sais trouver le code, mais c'est beaucoup de "chinois" pour moi. Je suis capable de comprendre quelques lignes, mais vraiment très peu:(
Comme tu le verras dans le fichier joint, j'ai réussi à modifier ton fichier, mais ce que j'ai fait "ne casse pas trois pattes à un canard...";)
Toutefois, même si je suis très satisfait du résultat qui est déjà largement exploitable, je pense qu'on peut encore améliorer.
Je crois qu'on ne se comprend pas sur ce que je souhaite (ou je m'exprime mal...). Je ne veux pas mettre des heures successives dans la même cellule, comme tu l'as dit ce serait idiot, je souhaite seulement que le userform (horaire qui défile) ne se cache pas...J'ai bien compris qu'il continuait à défiler "caché", et qu'il se ré-affichait dés qu'on sélectionne une autre cellule.
Donc l'amélioration que je souhaiterais, mais là moi je cale, serait:
1- ne pas avoir à cliquer sur une cellule pour voir s'afficher le userform est ce qu'il est possible de le faire s'afficher à l'ouverture du fichier???
2- au lieu de cliquer sur les cases de la colonne D, je préférerai avoir à sélectionner les cases A (N° de kart), et quand je clique par exemple sur la A4, c'est la D4 qui se met en surbrillance et enfin quand je clique sur le bouton rouge (ou barre d'espace) l'horaire va s'afficher en D4
3- serait il possible de fixer la userform à l'ecran??? elle reste affichée en permanence, à coté du tableau, quelque soit la hauteur de page.

Je viens de voir ton dernier message, je regarde ça de près, et je reviens ensuite
 

Fichiers joints

mada16

XLDnaute Nouveau
Bonjour.
J'ai fait des essais, je trouve même perturbant de ne pas masquer l'UserForm: si on a les yeux rivés dessus on à l'impression qu'il ne s'est rien passé, et donc le sentiment que l'heure n'a pas été inscrite dans la cellule sélectionnée. Il faudrait au moins qu'il se fige, que le bouton rouge change de couleur et serve à relancer l'affichage de l'heure, non ?
Je comprends ton idée, intéressante, mais normalement le commissaire qui enregistre les horaires n'a pas les yeux rivés sur la userform. Il a plutôt au début les yeux sur le kart (pour voir le N°), puis sur l'ecran pour sélectionner la case du N° et retour sur le kart pour voir le passage sur la ligne et appuyer en même temps sur la barre d'espace...et enfin sur l'ecran pour voir si l'horaire a été enregistré (enfin, c'est comme ça que je pratiquerais si j'étais commissaire...)
 

Dranreb

XLDnaute Barbatruc
Donc si je comprends bien, tu ne veux pas du positionnement juste en face de la cellule qui va être mise à jour ???
Et si on sélectionne une autre cellule que celle ci, le n° de kart en l'occurrence, comment on défini si c'est la cellule de l'heure de départ ou celle d'arrivée qui doit être garnie ?
Il y a un autre problème qui se présente si on laisse l'UserForm affiché: Il n'est plus la fenêtre active après qu'on ait sélectionné une autre cellule, et ne détecte donc plus l'appui sur une touche telle que la barre d'espacement.
 

mada16

XLDnaute Nouveau
Donc si je comprends bien, tu ne veux pas du positionnement juste en face de la cellule qui va être mise à jour ??? OUI
Et si on sélectionne une autre cellule que celle ci, le n° de kart en l'occurrence, comment on défini si c'est la cellule de l'heure de départ ou celle d'arrivée qui doit être garnie ?
Il y a un autre problème qui se présente si on laisse l'UserForm affiché: Il n'est plus la fenêtre active après qu'on ait sélectionné une autre cellule, et ne détecte donc plus l'appui sur une touche telle que la barre d'espacement.
C'est pour ça que j'ai fait deux feuilles, une départ et une arrivée, et tu auras remarqué que j'ai inversé les colonnes départ et arrivée sur la feuille arrivée pour que le premier clic sur l'userform inscrive systématiquement l'horaire dans la colonne D. Tout ça parce que la ligne de départ n'est pas au même endroit que la ligne arrivée (course de côte, pas sur circuit) et que les deux fichiers seront utilisé sur deux ordi différents. A la fin de l'épreuve, on fait un copier/coller de la colonne arrivée de la feuille arrivée du commissaire arrivée vers la colonne arrivée de la feuille départ du commissaire départ et on obtient le temps de parcours de chaque pilote. Ca, il faut le lire doucement:D

Pour le problème de l'userform active, c'est vrai que ça coince, car l'utilisation de la barre espace est une très bonne initiative;)
si ça te dérange pas, essaies de me faire un fichier avec l'userform affichée en permanence (et fixée à l'écran) et un autre avec seulement les modifs de selection (userform qui s'affiche en face de la cellule) et je verrai lequel correspond le mieux à l'usage (faut pas oublier que les commissaires sont des bénévoles, assez âgés en général, et qu'il faut pas que ce soit compliqué...:eek:
 

Dranreb

XLDnaute Barbatruc
Dans ce cas, si c'est sur des feuilles différentes, voire des classeurs différents, on ne peut jamais calculer ni a fortiori afficher de temps. Alors je l'enlève de l'UserForm ? On ne peut plus vraiment lui mettre comme titre "Chronomètre" dans ce cas. "Heure en millisecondes" peut être ?
Ben, je vais essayer de faire un seul fichier avec le positionnement du UserForm en option.
 

mada16

XLDnaute Nouveau
Je comprends pas !!!
Sur mon fichier modifié en #64, il y a plusieurs feuilles, je déclenche le 1er userform (feuille départ) et les horaires s'affichent au fur et à mesure que je sélectionne les cases, et je déclenche (après ou pendant la saisie sur départ) le 2ème userform (feuille arrivée) et les horaires s'affichent au fur et à mesure que je sélectionne les cases. En fait je ne me sert pas de l'userform pour la colonne F (cela ne veut pas dire qu'il faut la supprimer, j'en ai besoin pour "coller" les temps de l'autre feuille, et plus tard dans une utilisation future avec des détecteurs IR...)
Quant au titre "chronométre" ou "horaire en milliseconde" peu importe, c'est de la sémantique ;)...
 

Dranreb

XLDnaute Barbatruc
Je parlais de mon UserForm, pas de colonnes dans des tableaux. De la zone intitulée "Pour info, temps", sous la zone "Heure à inscrire". Je ne pourrais plus l'alimenter si je n'aurai jamais une heure de Départ sous la main. Alors elle ne sert à rien (visuellement je veux dire, parce que fonctionnellement elle ne sert à rien de toute façon, pas plus que l'autre d'ailleurs), donc je l'enlève ?
 
Dernière édition:

mada16

XLDnaute Nouveau
C'est vrai que la partie inférieure du userform (pour info, temps : indéfini) ne sert à rien, mais la partie supérieure (heure à inscrire : 16:17:25:568) qui défile, elle est importante. Elle servira (en plus de sa fonction de prise d'horaire vers la colonne D) à vérifier la synchro entre le PC de départ et le PC d'arrivée. Donc enlever la partie inférieure, oui, mais enlever la partie supérieure, non. Maintenant, ça ne me gène pas!!!!
Et comme je te l'ai dit, dans un avenir lointain (cause budget) nous aimerions relier ce chrono à des barrières infra rouge via une interface, de façon à ce que le kart qui coupe le faisceau IR, déclenche lui même le chrono (plus précis que le commissaire...et pas de triche possible...). Il n'y aura plus qu'un PC, à l'arrivée, qui recevra le top départ par radio et le top arrivée par fil, le tout sur le même fichier. Donc je pense qu'il ne faut pas "défaire" ce userform qui fonctionne bien, et qui sera certainement utile dans le futur.
 

Dranreb

XLDnaute Barbatruc
D'accord. Donc la zone en dessous pourrait un jour redevenir exploitable. Alors je vais la laisser. Que pourrais-je prévoir dès maintenant pour la saisie de signaux venant d'un autre dispositif ? A tout hasard je vais ajouter une propriété Heure en lecture seule renvoyant l'heure en Double qui serait inscrite dans la cellule cible par la voie actuelle.
Sans que cela ne gêne une relance automatique, la possibilité de figez le décompte avec passage en vert du bouton rouge pour le relancer est il souhaitable ? (pour qu'il se passe quand même quelque chose de visible si on ne le déplace ni ne le masque).
Je pense que je vais dissocier la méthode Afficher en trois systèmes séparés :
1) — Posit: Positionnement de l'UserForm par rapport à une plage.
2) — Cible: l'actuel Afficher: Enregistrement de la cellule cible et de l'éventuelle heure de départ si on en dispose, lancement.
3) — Deux ou trois méthodes commençant par "Option" définissant sa réaction visible souhaitée lors du Image1_MouseDown ou du UserForm_KeyDown (sa réaction fonctionnelle étant toujours d'abord d'inscrire au plus vite l'heure la plus précise possible dans la cellule dont on l'a chargé lors de l'appel UFmChrono.Cible) OptionMasquer, OptionContinuer, OptionFiger.
Le tout bien documenté dans des commentaires guides d'utilisation.
Comme ça on fera ce qu'on voudra dans la programmation applicative qui le pilotera.
Ça vous va ?
 
Dernière édition:

mada16

XLDnaute Nouveau
Pour rien te cacher, je ne comprend pas tout:confused:
Mais je crois que toutes tes propositions vont dans le bon sens, donc ça me va:)
Je te confirmerai quand j'essaierai le fichier...
 

Dranreb

XLDnaute Barbatruc
Ah ben non ! Répond aux questions quand même. Le coup du bouton vert sur affichage figé notamment.
Et demande moi des explication sur ce que tu ne comprends pas.
Après coup je n'y reviendrai plus 50 fois !
Ce sera à toi d'adapter la programmation applicative pour des évolutions futures.
 
Dernière édition:

mada16

XLDnaute Nouveau
Et bien, je suis désolé, mais comme je comprends pas tout, je peux pas dire oui ou non, je ne pourrai que voir le résultat...et je te comprends quand tu dis que t'as pas envie de refaire le boulot éternellement.
L'histoire du bouton, je préfère qu'il reste comme il est avec le défilement permanent car si le décompte se fige, y aura bien un "glandu" qui va croire que c'est planté et qui fera n'importe quoi...
Pour le posit, si c'est faire "suivre" le userform au fur et à mesure qu'on monte ou descend la page, alors ça OK
Les deux autres, désolé mais chinois pour moi!!!
Par contre, "Le tout bien documenté dans des commentaires guides d'utilisation" ah ça un GRAND OUI ça m'aidera surement à comprendre.
Je t'envoie ma dernière modif, j'ai essayé de faire des macro pour faire le classement, je crois que ça marche, mais pas sûr du tout...
En tout cas, j'espère que ça ne gênera pas ton travail...
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Curieux, je n'ai trouvé aucune modification dans tes Sub Worksheet_SelectionChange (parce que ce ne sont plus les miennes à partir de maintenant) qui rende compte de ce que tu disais vouloir: que ça réagisse à la sélection dans la colonne A, notamment, et aussi qu'il ne devait plus travailler qu'avec la colonne D. Alors je n'ai rien changé à ses réactions non plus, je me suis borné à le commander par les nouvelles méthodes de telle sorte qu'il réagisse de la même façon qu’auparavant.
 

Fichiers joints

mada16

XLDnaute Nouveau
Je n'ai pas dit que j'étais arrivé à faire ces modifs (réagir à la colonne A plutôt que D... c'est juste ce que je désire.
Quant à ne travailler que avec la colonne D, c'est ma méthode pour que ton fichier puisse me servir tel qu'il était, mais je n'ai absolument rien changé dans le code (je sais à peine en lire deux lignes...)
 

Dranreb

XLDnaute Barbatruc
Qu'est ce que tu attend pour essayer ?
Des explications peut être, alors on veut bien en donner si on savait ce que tu ne comprends pas dans le fonctionnement d'une Sub Worksheet_SelectionChange. Il y a aussi la touche F1 pour obtenir de l'aide sur les méthodes et propriétés des objets Microsoft, le curseur texte étant sur l'une d'elle dans le code.
 

Discussions similaires


Haut Bas