Décomposer un score de Golf 18 trous

Bonjour,

çà paraît bien compliqué

Dans l'exemple, je ne vois pas comment excel va deviner qu'il doit prendre 14 et pas un 1 et un 4

Donc soit les résultas sont saisis par trou directement. soit le format des nombres doit être identique pour qu'excel

puisse correctement effectuer un découpage : exemple par chaine de 2 caractères :

0405060802+12/05+1406090201/0608+1106

Et bien dis donc... c'est un truc de ouf çà !!!! A en faire pâlir tous les concepteurs de logiciel officiel. Waouwww.

Je n'ai malheureusement pas le temps de l'essayer maintenant car j'ai un gros comité sportif à préparer et auquel me rendre, mais j'essaie cela le plus vite possible dans mes autres fichiers et te tiens bien entendu informé ....

Tu dois connaitre VBA sur le bout des doigts réaliser ce genre de chose !

A bientôt et mille merci

petite idée d'amélioration : la demande de confirmation n'a lieu que si il y a un écrasement de valeur.

Si toutes les cellules destinations sont vides on écrit directement.

Ca devrait limiter drastiquement les doubles validations. Uniquement sur les ressaisies.

De plus je contrôle maintenant qu'il y ait bien le format Texte.

Ca permet de quitter au plus vite, et, si besoin était, d'éliminer de faux positifs.

Tu peux donc saisir 123456789 en tant que nombre

Reste à voir si tu peux avoir besoin de coller plusieurs hits d'un coup (?)

eric

PS : je considère un 0 comme non valide. Mais je viens de réaliser que tu n'as jamais répondu à ma question (du moins je ne retrouve pas).

Faut-il accepter les 0 ou non ?

Bonjour,

çà paraît bien compliqué

Dans l'exemple, je ne vois pas comment excel va deviner qu'il doit prendre 14 et pas un 1 et un 4

Donc soit les résultas sont saisis par trou directement. soit le format des nombres doit être identique pour qu'excel

puisse correctement effectuer un découpage : exemple par chaine de 2 caractères :

0405060802+12/05+1406090201/0608+1106

Pas de problème, eriiic a résolu mon problème. C'est le signe + qui détermine que le score qui suit est en 2 digits.

Merci quand même

Hello Eric,

J'ai testé ce très petit matin ton programme dans plusieurs de mes compétitions. Çà fonctionne impecc. Juste un truc, le "0" n'étant pas accepté, il ne l'est pas non plus pour "+10". Hors si effectivement il ne faut pas accepter "0", les scores +10,+20... doivent eux être acceptés.

Je ne m'imaginais pas que l'on pouvait procéder dans Excel à de tels fonctions grâce à VBA et comme je te l'ai dit dès que je trouverai un peu plus de temps dans mon agenda... je me mettrai à l'étude.

Si tu cherches toujours à améliorer, je pensais à une fonction de saisie un peu différente. Perso, sans VBA, j'étais obligé de garder une cellule avec le nombre à saisir pour le distribuer à coté. En fait, je suppose que VBA n'a plus vraiment besoin de cela. Dans mes fichiers, dès que les scores sont distribués correctement, je n'ai plus besoin de conserver l'encodage de la chaine de caractères.

C'est pour cela que je pensais à un encodage toujours au même endroit avec une cellule ou l'on donne le n° du team à encoder et à coté la chaine de score. La distribution se ferait alors à coté du n° de team (voir sheet).

  • Ton idée de confirmation de score est aussi extra: uniquement s'il y a écrasement
  • Je préfère l'idée de la case qui détermine le nombre de trous de la compétition. Elle permet des situations de compet supplémentaires.
  • Je te confirme que "0" doit être considéré comme non accepté et refusé par un popup. (mais pas +10 )
  • L' endroit de distribution pourrait se situer à côté du chiffre correspondant dans toute colonne ayant pour entête "Team nbr"
  • Je pense que de cette façon, cela élimine aussi une série d'autre problèmes (de format de cellule par exemple)

Mais voilà, cela change le système assez fortement et avec certainement beaucoup de temps. C'est peut-être un exercice pour moi dès que j'aurai appris . Mais si pour le programme actuel, tu pouvais lui faire accepter le "0" dans les scores à 2 digits, ça serait vraiment chouette car il n'y a vraiment plus que cela qui manque au programme.

Je ne sais pas comment te remercier! Tu ne pratiques pas du Golf ? Les maths du Golf sont très compliquées. Cela est du au fait que la Fédé veut mettre sur le même pied toutes les difficultés de terrain et tous les niveaux de jeu des golfeurs. Je pourrais te donner tous les programmes terminés, mais si tu n'en fais pas...

Grand Merci Eriiic,

Michel

32saisie-2-0.xlsm (22.18 Ko)

Bonjour,

Ah, le +10 ne m'a même pas effleuré l'esprit...

Le format de cellule était pour ne pas perdre les 3 derniers hits des 18 trous.

Le problème ne se posera plus puisque la saisie va passer dans un textbox.

Par contre il demande une gestion complète de la saisie au fil de l'eau, sans parler de 90% du reste à reprendre..

Il va me falloir un peu de temps. Peut-être demain.

eric

Eric, il n'y a ni obligation, ni urgence. La saison recommence fin mars

En tous cas Merci pour tout encore une fois

michel

Bonjour,

J'ai pris le temps de te le fignoler aux petits oignons...

Prend le temps de lire le modop pour voir le fonctionnement.

A toi de le maltraiter pour faire ressortir les bugs, ou voir si tu vois une amélioration.

Il reste un seul défaut, mais vraiment prise de tête et je commence à saturer :

si tu as saisi +x cette partie est considérée comme valide, même si tu n'as pas encore saisi le 2nd chiffre (qui sera traité correctement de toute façon), et je sélectionne prématurément la cellule suivante sur la feuille.

Est-ce vraiment rédhibitoire ?

eric

Salut eric,

Je suis très impatient d'essayer "les petits oignons" d'autant que tu sembles y avoir mis beaucoup de temps et d'énergie.

Malheureusement, j'ai l'impression que le fichier s'est perdu en chemin !

Compte sur moi pour la maltraitance. J'ai l'impression que tu as le même défaut de perfectionnisme que moi, et du coup, ça m'étonnerait très fort que le défaut soit rédhibitoire . Perfectionniste, mais je me soigne

Merci à l'expert passionné.

Bonjour,

oupsss, un oubli.

Une chose aussi que j'ai oublié d'expliquer.

Tu dois modifier au milieu +10+15 en +12+15. Vu que ça se fait au fil de l'eau il va te refuser la suppression du 0 vu que +1+15 est invalide.

Il faut sélectionner le 0 pour le remplacer.

eric

11saisie-2-3.xlsm (85.11 Ko)

Je viens de tester et le box est vraiment extra pour l'encodage. D'ailleurs j'ai beau chercher le problème du +10+15, pour moi cela se fait super bien. le "/" est tout aussi bien pris en compte, le 0 pas accepté seul, et en plus on voit au fil de l'eau la progression du remplissage. Que veut le peuple ?

Par contre, (est ce un problème sur mon excel?) je peux saisir des team nbr qui ont déjà été rempli avec au moins les 2 premières cases. Si cela n'est pas le cas (nouvel encodage vierge) il m'indique "erreur d'exécution '5' appel de procédure incorrect.

Si juste après ce message je double clic sur un team nbr déjà encodé, le message d'erreur 429 apparait (composant activeX ne peut pas créer d'objet) mais si on re clic une seconde fois, cela re fonctionne. Bizarre qu'il n'accepte pas de saisie si les cases sont vierges!

Idée d'amélioration-simplification:

+ Ce serait bien que le box reste ouvert en permanence jusqu'à la fin des encodages. On tape le n°du team et après ENTER, le curseur se trouve sur la cellule de saisie. A la fin de la saisie on retape ENTER et on se retrouve sur la cellule pour entrer le n° de team suivant puis ENTER et ainsi de suite. (L' encodeur reçoit les cartes de scores dans des ordres complètement aléatoires)

- Actuellement quand on tape enter après le n°du team, le programme renvoi une erreur de compilation)

+ pour moi, la croix de déplacement n'est pas vraiment utile.

+ On peut aussi imaginer un bouton faisant appel a l'encodage pour ouvrir le box et éliminer le double clic dans la colonne team nbr

Je me rend compte que je te donne vraiment beaucoup de travail quand je vois la longueur de ton programme. Ne te sent surtout pas obligé car le système précédent pouvait très bien fonctionner. A toi de voir, mais surtout aucune urgence eric. Encore Merci de ton aide.

Par contre, (est ce un problème sur mon excel?) je peux saisir des team nbr qui ont déjà été rempli avec au moins les 2 premières cases. Si cela n'est pas le cas (nouvel encodage vierge) il m'indique "erreur d'exécution '5' appel de procédure incorrect.

une amélioration de dernière minute que je n'ai pas testée entièrement.

Corrigé

+ Ce serait bien que le box reste ouvert en permanence jusqu'à la fin des encodages

Je ne comprend pas trop. Elle reste ouverte tant que tu ne la ferme pas, ou que tu ne changes pas de feuille (fermeture auto dans ce cas pour éviter des écritures intempestives)

+ pour moi, la croix de déplacement n'est pas vraiment utile.

Qui peut le plus peut le moins.

Et c'est ce qui te permet de passer à la saisie suivante, ce que tu demandes juste avant.

Ou alors j'ai mal compris. Mais c'est peut-être le bug précédent qui t'empêchait d'appréhender le fonctionnement (?)

+ On peut aussi imaginer un bouton faisant appel a l'encodage pour ouvrir le box et éliminer le double clic dans la colonne team nbr

On peut oui.

Le soucis du bouton c'est qu'on va cliquer sans contrôler la cellule active, et obliger à une gymnastique ou bien à refermer la boite pour atteindre la bonne ligne. Une saisie ou un double-clic oblige ce contrôle visuel.

Donc j'ai ajouté un bouton Nouveau qui considère que tu veux faire une nouvelle saisie : recherche la 1ère colonne commençant par 'Team nbr', recherche la dernière ligne et démarre une saisie à un offset de 3 lignes en-dessous.

3 étant la valeur de l'Offset défini dans la croix de déplacement. La valeur par défaut au lancement du programme est mise dans la propriété UF_saisieHits.LblOffset.Tag.

Le ligne mini est la 5 pour être d'équerre avec ton modèle.

eric

10saisie-2-3.xlsm (87.71 Ko)

Quand je l'ai essayé la première fois ce we, XL s'est planté complètement. J'avais un second fichier XL ouvert et plus aucun des deux ne voulaient même se fermer. Les 2 fichiers étaient complètement inertes. J'ai du redémarrer mon PC !!!

Nouvel essai ce matin et cela fonctionne correctement maintenant. Plus du tout ce problème.(sans second XL ouvert, est ce la raison?)

On y est presque . Il reste cependant 2 trucs assez gênants et même dangereux pour l'encodage.

TEST: Tu effaces tous les scores développés . tu encodes le team 1 par exemple, puis ENTER. Le curseur se positionne dans le box sur le n°du team pour taper le suivant. Extra. Tu tapes 5 et puis ENTER, tu reçois la question "atteindre 5 ? " si tu réponds "oui", il se positionne effectivement sur le team 5, MAIS il rempli déjà les cases avec le précédent encodage. Cela est assez dangereux. Il faudrait d'abord effacer l'encodage et puis positionner le curseur sur la ligne à encoder dans le box pour commencer immédiatement l'encodage du 5 (actuellement il se positionne sur le bouton "quitter", donc si faut déplacer le curseur pour continuer à encoder).

Si à la question "atteindre 5 ? " tu réponds "non", il change le n° du team de 1 en 5, et cela aussi est forcément dangereux .

Je ne pense pas la question "atteindre 5" nécessaire. On peut y aller de suite me semble-t-il

Le NEC comme je disais précédemment est de taper le numéro du team puis ENTER. Immédiatement après (sans clic ni déplacement) le curseur est dans l'encodage VIDE des 18 trous puis ENTER qui vient automatiquement se repositionner sur le n° du team (peut-être vide lui aussi) et ainsi de suite.

Cela pourrait faire l'encodage le plus rapide qui soit.

Qui peut le + peut le moins, je suis d'accord mais ici, cette fonction (la croix) n'aura réellement aucun intérêt et je pense que cela perturbera plus l'encodeur que de l'aider.

Et une dernière chose... (je sais, j'abuse! ): si pour un encodage 15 trous par exemple, je fais une double frappe et j'encode donc 16 trous sans m'en rendre compte, le box m'indique OK car il n'accepte pas le 16 ieme trou et reste donc sur OK. Mais l'encodage est faux puisque depuis la double frappe, l'ensemble des scores est décalé. Plutôt que de ne pas accepter le 16 ieme, un warning serait peut-être mieux non ?

Voilà mes tests. Tu vas finir par me prendre pour un gros emmerdeur !! (c'est toi qui m'a demandé de maltraiter la bête )

Bonne journée à toi.

michel

Bonjour,

(presque) tout tourne autour de l'ergonomie.

Là, c'est ton expérience qui prime. Moi je ne peux qu'essayer d'imaginer la pratique habituelle, et éventuellement prévenir des erreurs de saisie.

On va arriver à définir le meilleur...

TEST: Tu effaces tous les scores développés . tu encodes le team 1 par exemple, puis ENTER. Le curseur se positionne dans le box sur le n°du team pour taper le suivant. Extra. Tu tapes 5 et puis ENTER, tu reçois la question "atteindre 5 ? " si tu réponds "oui", il se positionne effectivement sur le team 5, MAIS il rempli déjà les cases avec le précédent encodage.

Là c'est un simple bug, j'avais prévu de remplir avec le contenu de la ligne atteinte. Je corrigerai.

Si à la question "atteindre 5 ? " tu réponds "non", il change le n° du team de 1 en 5, et cela aussi est forcément dangereux .

Je ne pense pas la question "atteindre 5" nécessaire. On peut y aller de suite me semble-t-il

Là ça mérite discussion.

Dans mon esprit tu pouvais avoir commis une erreur dans la saisie du n° et il fallait donner la possibilité de corriger en 25 par exemple.

Ce que je fais directement si ler n° n'existe pas ailleurs.

On peut aussi prévenir la saisie de doublon, c'est pour cette alerte que cette boite apparait.

D'où les 3 boutons :

  • Oui : tu veux atteindre cette team, ce n'est donc pas une modif de l'actuelle.
  • non : tu ne veux pas l'atteindre, c'est donc une modif de l'actuelle (et création d'un doublon).
  • Annuler : on ne fait rien. Par contre ici je devrai restaurer l'ancienne saisie.
On pourrait aussi ajouter un choix dans le cas ou le n° n'est pas ailleurs : Modification de celui en cours ou Création d'un nouveau.

Je résume :

1) n° inexistant, 2 possibilités :

  • modification de celui en cours
  • création nouveau
2) n° existant, 3 possibilités :
  • modification de celui en cours
  • déplacement
  • annuler : on restaure l'ancien n°
Si on fait le déplacement d'office tu ne pourras plus traiter ce cas facilement : tu as modifié en 25, tu n'es plus alerté que c'est un doublon, tu t'aperçois que tu voulais saisir 24 en arrivant sur le 25 non attendu, il faut que tu te rappelles où tu étais pour y retourner. Tu dis...

En tenant compte de ces différents cas de figure (à compléter si tu en imagines d'autres), dis-moi en détail : lesquels veux-tu traiter, description des boites (choix) et messages exacts que ce soit le plus clair possible pour l'utilisateur.

Qui peut le + peut le moins, je suis d'accord mais ici, cette fonction (la croix) n'aura réellement aucun intérêt et je pense que cela perturbera plus l'encodeur que de l'aider.

Pas de soucis, il n'y a que les boutons à supprimer.

Mais sur toutes tes feuilles ça sera ad vitam eternam 1ère ligne en 5 et un pas de 3 en 3 ?

Une question : tes n° sont pré-remplis ou tu les crées au fur et à mesure ? Si pré-remplis on peut déterminer 1ère ligne et le pas, à condition que ce soit les seuls nombres dans cette colonne.

Par ailleurs les n° sont-ils consécutifs et sans trous (un comble pour le golf ) ?

Si oui, en inscrivant qq part le nombre de participants ça donne un contrôle supplémentaire possible. Ou bien remplacer le bouton Nouveau par un Nb participants qui pré-rempli tous les n° dans l'ordre.

Et une dernière chose... (je sais, j'abuse! ): si pour un encodage 15 trous par exemple, je fais une double frappe et j'encode donc 16 trous sans m'en rendre compte, le box m'indique OK car il n'accepte pas le 16 ieme trou et reste donc sur OK. Mais l'encodage est faux puisque depuis la double frappe, l'ensemble des scores est décalé. Plutôt que de ne pas accepter le 16 ieme, un warning serait peut-être mieux non ?

Pour ça il faut que je donne la possibilité de saisir 19 ou 20 trous par exemple.

Par ailleurs ça te donnera de l'air pour éditer au milieu sans t'obliger à supprimer d'abord pour te faire de la place.

eric

Les numéros de team sont préremplis par rapport aux inscriptions reçues pour la compétition. Ils sont présentés en ordre croissant. Ils représentent selon les types de jeu, un deux trois ou quatre golfeurs qui seront nommés à gauche du numéro de team

Dans la colonne Team nbr, il n'y aurait que les numéros de team pré-remplis et à ne pas modifier pendant l'encodage. L'espacement entre numéro peut être différent selon les types de jeu.

A l'encodage, on n'encode quasi jamais les teams dans l'ordre. On encode le 9, puis peut-être le 2 suivi du 29 ... en fonction de la rentrée des flights (groupes de golfeurs) au club house.

Donc selon moi, dans le box de saisie, tu tapes le n°de team ENTER et la case sélectionnée se positionne sur le team correspondant que l'encodage soit déjà fait ou non. S'il a déjà été fait, la suite de chiffre réapparait dans le box et l'on sait éventuellement corriger un des chiffres qui aurait été mal tapé. S'il n'est pas fait, la case d'encodage est vide et prête à recevoir la chaine de caractère. C'est à la personne qui encode de bien vérifier qu'elle va encoder le bon team en fonction de la carte manuscrite qu'elle a sous les yeux.

Si le numéro de team tapé n'existe pas, alors simplement faire apparaitre "numéro de team non valide"

Avec le box d'encodage tel que tu l'as bien conçu, pour moi, le bouton "nouveau" ainsi que le bouton "quitter" dans le box peuvent aussi disparaitre. Le bouton "quitter" fait double emploi avec la petite croix supérieure droite du box non ?

J'espère que j'ai pu lever mes imprécisions dans l'énoncé du problème

J'y vois un peu plus clair.

Si je comprend bien, c'est pré-remplis, sauf quand ça ne l'est pas...

Je te propose de limiter les actions possibles de ce textbox pour lever toutes les ambiguïtés d'utilisation.

Il affiche la team en cours.

Si saisie nouveau n°, on se présente dessus, et si non trouvé on le crée. Par défaut au pas déduit des 2 premières teams, au pas de 3 si il n'y a pas 2 teams de pré-inscrites (à l'utilisateur de le déplacer si autre ligne, à moins qu'on puisse avoir un autre point de repère pour déterminer la ligne à utiliser)

Toute autre modification devra se faire sur la feuille.

D'accord ou autre idée ?

Avec le box d'encodage tel que tu l'as bien conçu, pour moi, le bouton "nouveau" ainsi que le bouton "quitter" dans le box peuvent aussi disparaitre

Bah le bouton c'est toi qui l'a voulu

Le bouton "quitter" fait double emploi avec la petite croix supérieure droite du box non ?

maintenant que je met à jour au fil de l'eau, oui. Ce n'était le cas avant, le bouton a évolué plusieurs fois en cours de développement.

eric

PS : tu ne m'as pas dit si tous les n° étaient présents ou s'ils pouvait y avoir des trous.

Ni si cette colonne peut avoir un autre nombre qu'un n° de team.

Plus j'ai de certitude sur le contexte, moins j'aurais de trucs à reprendre.

Dans les fichiers d'exemple, ne regarde surtout pas les autres cellules car ce sont des calculs un peu compliqués correspondants aux "mathématiques du golf" d'adaptation de difficultés de terrain et de trous, de handicaps de golfeurs ou golfeuses.

Le but de modification de ces fichiers est donc d'éliminer les colonnes H et I qui pour l'instant font une distribution par 9 chiffres uniquement, par simple digit uniquement et sans possibilité de "/".

Est ce mieux ??

OUPS, aussi oublié d'attacher...

Bonjour,

Avant d'ouvrir où sont les réponses à mes questions ?

Et si tu pouvais arrêter de remettre l'intégralité de mes posts dans tes réponses ça faciliterait et allégerait la lecture.

Fait simplement Répondre en bas.

eric

J'y vois un peu plus clair.

Si je comprend bien, c'est pré-remplis, sauf quand ça ne l'est pas...

Mais non ! Je te met en attache 2 fichiers d'une compétition spécifique. Le template est le fichier en cours de remplissage d'inscription avec toutes les caractéristiques des joueurs inscrits (colonnes B à E). La colonne A avec les numéros croissants de team.

L'autre fichier, est le même mais rempli après la compétition et présentant les résultats

Je te propose de limiter les actions possibles de ce textbox pour lever toutes les ambiguïtés d'utilisation.

Il affiche la team en cours.

Si saisie nouveau n°, on se présente dessus, et si non trouvé on le crée.

Non, pas de création, il doit être dedans sinon "textbox= N°de team non valide"

Par défaut au pas déduit des 2 premières teams, au pas de 3 si il n'y a pas 2 teams de pré-inscrites (à l'utilisateur de le déplacer si autre ligne, à moins qu'on puisse avoir un autre point de repère pour déterminer la ligne à utiliser)

Toute autre modification devra se faire sur la feuille.

D'accord ou autre idée ?

Je pense que tu veux en faire beaucoup trop! C'est beaucoup plus simple que cela. Dans le box de saisie, tu tapes le n° de Team (le programme va le chercher dans la colonne "Team nbr" puis en tapant ENTER, le curseur du box se positionne sur le champ de la chaine et le curseur du tableau sur la première cellule à remplir (dans l'exemple du fichier template, la colonne J et sur la ligne ou le numéro de team a été trouvé)

Avec le box d'encodage tel que tu l'as bien conçu, pour moi, le bouton "nouveau" ainsi que le bouton "quitter" dans le box peuvent aussi disparaitre

Bah le bouton c'est toi qui l'a voulu

Pour faire encore plus simple, on peut garder le bouton (dans l'exemple, je l'ai nommé "encodage résultats" (ABCD-2,3). et supprimer le double clic d'apparition du box d'encodage.

PS : tu ne m'as pas dit si tous les n° étaient présents ou s'ils pouvait y avoir des trous.

tu comprends que cela n'a aucune importance par rapport à la façon de remplir ?

Ni si cette colonne peut avoir un autre nombre qu'un n° de team.

Numéros de team uniquement

Dans les fichiers d'exemple, ne regarde surtout pas les autres cellules car ce sont des calculs un peu compliqués correspondants aux "mathématiques du golf" d'adaptation de difficultés de terrain et de trous, de handicaps de golfeurs ou golfeuses.

Le but de modification de ces fichiers est donc d'éliminer les colonnes H et I qui pour l'instant font une distribution par 9 chiffres uniquement, par simple digit uniquement et sans possibilité de "/".

Est ce mieux ??

Rechercher des sujets similaires à "decomposer score golf trous"