Calage de procédure compliquée

Bonjour le forum, bonjour à tous,

J'essaie d'adapter les procédures:

LesGagnantsConcours1

Aleatoire

et LeTri

récupérées dans le VBA de la "Feuil7(Tirage Triplettes)" dans le VBA de la "Feuil12(Concours)...

Pour ça, j'utilise le module de test "M_TirageAleatoireTEST"

Pour une première approche, je me suis concentré sur les colonnes A et B et J'ai mis en commentaire toutes les lignes de code qui ne les concernaient pas.

J'ai adapté certains paramètres et commenté toutes les lignes tant que j'ai pu pour mieux m'y retrouver....

j'ai également repéré le problème que je rencontrait par des commentaires balisé par des "£"...

Pour une 1ère tentative, j'ai pas mal avancé...!

J' ai 2 problèmes:

1) Lorsque je désactive les procédures "Alratoire" et "LeTri" et que je lance "LesGagnantsConcours1", tout se passe bien, les gagnants (tous avec des N° impairs, pour la simplification de la vérification se retrouvent bien en colonne "AG". Parfait...

Mais lorsque je libère "Aleatoire" qui doit faire un tirage au sort de ces N° impairs et les réinscrire au même endroit et que je le lance,

il m'insère des N° pairs....

2) Je n'arrive pas à recaler l'inscrpition des N° et des joueurs dans les colonnes A et B dans les mêmes colonnes, mais à partir de la ligne 54 pour laisser la place de l'entête de la grille.

J'y suis depuis hier soir et je bloque...

Si quelqu'un a une solution commentée à me soumettre, ce serait parfait.

Merci de votre aide...

PS: Pour que la macro fonctionne, il faut que la feuille soit déprotégée, et effacer "En cours" de la cellule "J1".

Mon fichier joint:

bonjour tout le monde,

J'ai réussi à régler mon problème de tirage au sort...

Il ne reste plus à traiter que le calage sous la 1ère grille...

Je m'y remet et si je trouve, je vous en averti, si vous trouvez avant moi, soyez gentil de m'épargner une prise de tête prolongée...

Merci de m'aider...

Bonjour atlonia, bonjour le forum,

Je joue du coude pour m’immiscer dans la foule des prétendants salvateurs. )

Voici une autre version (7) qui reprend le tirage de la 2e Partie. Il y a tirage aléatoire parmi les gagnants de la 1re Partie et un autre tirage aléatoire parmi les concurrents de la 2e chance en consolante.

J'ai enlevé le module "M_Tirage_2eP" et placé tout le code dans la feuille "Concours".

Le bouton "Tirage 2e Partie" se positionnera en fonction de la dernière ligne de la 1re partie ... puisque ce nombre est appelé à varier selon le nombre de candidats au trône.

Si tu reprends le tirage de la 1re partie, la section, au bas, de la 2ePartie sera effacée avant le tirage, car, le nombre de candidats pourrait varier.

Bon, c'est une autre étape.

Pour ne pas s’empêtrer dans un casse-tête inextricable, je suggère de compléter le TêteàTète jusqu'aux gagnants des deux divisions : gagnant-gagnant et gagnant-consolé.

Ensuite, il sera plus facile de reproduire le tout aux Doublettes et aux Triplettes, car, il ne restera qu'à boucler sur 2 ou 3 au lieu de 1.

A+

Joseph

Bonjour retraite8,

Merci infiniment pour ce travail parfait comme à ton habitude...

comme tu as pu le lire sur le post, j'avais réglé avec beaucoup de peine le problème du tirage...

Je viens, il y a 20 mn de régler le calage également, et j'étais en train d'essayer de régler l'entête et la grille...

Je voyais la grosse migraine arriver...

Ton intervention est salvatrice, merci encore...

Mais une question me turlupine toujours:

sera t-on obligé de créer un bouton à chaque nouvelle partie, sachant qu'en fonction du nombre de joueurs, on ne sait pas à l'avance combien il y en aura ?

Ne peut-on pas créer un bouton unique qui apparaît à chaque tirage, et utiliser la même procédure qui se déplacera vers le bas en fonction de la dernière ligne pleine ?

Dis moi STP si mon idée est utopique ou pas...

Merci encore, A+

Bonjour atlonia, bonjour le forum,

Pour l'instant, j'opterai pour des boutons différents.

Tant que le Tête-à-tête ne sera pas terminé, il est difficile d'avoir une vue d'ensemble.

On va sûrement découvrir des améliorations du code à apporter.

Mais c'est tout à fait possible avec une variable publique et que le bouton, selon la valeur de cette variable, redirigerait sur un code ou sur l'autre.

Je suggère, comme les Smarties rouges, de les garder pour la fin.

En passant, j'avais oublié d'interdire l'exécution du bouton "Tirage 2e Partie" si on a commencé à inscrire des résultats G et P dans cette 2e Partie.

Il serait bon, aussi, de contrôler le nombre de résultats inscrits, avant que les boutons des tirages suivants ne soient opérationnels. Ceci afin de s'assurer que tous les résultats soient saisis. Si on fait cela, il faudra inscrire manuellement G et A (Abandon) comme résultat, si une confrontation est annulée à cause de l'abandon d'un participant en cours de partie. Le participant restant devient gagnant.

On a pas fini de trouver des protections à apporter.

Ce sera la même chose pour les parties subséquentes.

A+

Joseph

Bonjour atlonia, bonjour le forum,

Il manque aussi de faire effacer la plage de la 2e partie elle existe et qu'aucun résultat n'est inscrit.

Ainsi, on peut faire un 2e ou 3e tri aléatoire.

Joseph

Bonjour atlonia, bonjour le forum,

P.V.I.

Le bidule avance pour le Tête-à-Tête.

Voici la version 8.

Ce qui est fait :

  • La première partie > code séparé > module Tirages > macro TêteÀtête
  • La deuxième partie > code séparé > feuille Concours > macro GagnantsConcoursTaT_2eP
  • Les Xième parties suivantes > code séparé > feuille Concours > macro GagnantsConcoursTaT_3eP
Cette dernière macro gère les parties, 3, 4, 5 jusqu'aux gagnants.

Ce qu'il reste à faire :

  • Compter le nombre de résultats en colonne C (pour la partie 1) avant de se lancer en partie suivante et empêcher la macro de la partie suivant de fonctionner si tous les résultats ne sont pas complétés.
  • Compter le nombre de résultats en colonne C et K (pour les parties 2 et suivante) avant de se lancer en partie suivante et empêcher la macro de la partie suivant de fonctionner si tous les résultats ne sont pas complétés.
  • Au début de la macro GagnantsConcoursTaT_3eP, je change manuellement (pour l'instant) la valeur de "LaP" qui est la valeur de la dernière partie complétée. Je songe à faire compter le nombre de lignes de participants (partie1), le nombre de (participants/2) + 6 pour les parties suivantes. Ainsi, il a la protection du nombre de résultats en colonne C et K ... si tous les résultats sont inscrits, la partie suivante sera composée (si on peut dire).

Woualla! j'en suis là.

A+

Joseph

Merci retraite8,

Beau travail encore une fois...

J'ai testé ta nouvelle version, J'ai bien joué sur LaP2, LaP3 et laP4, dans la macro GagnantsConcoursTaT_3eP...

Mais rien ne se passe... Je reste Bloqué sur la partie 2 Même après avoir coché toutes les cellules "G", pas de bouton pour tirer la partie suivante....

Je pense avoir manqué quelque chose, peut être le tableau "Partie complétée" que tu as mis en Col AJ et AK qui remplace la Cellule H1 apparemment, dans lequel J(ai effectivement changé les valeur manuellement, mais ça n'a rien donné...

De plus lors du tirage de la 1ère partie, pour le tirage concours, toutes les parties suivantes s'effacent bien, ce qui n'est pas le cas pour la consolante...

"

J'ai bien essayé de le faire par "TêteÀtête" du module "M_Tirages", mais là jeme heurte un gros bug avec message d'alerte...re

Merci en tout cas de continuer à t'intéresser a mon projet.

Car même si je commence à y voir un peu plus clair en VBA, je me rends compte que je serais encore incapable de m'en sortir tout seul. Merci infiniment, grâce à toi J'apprends plus vite. mille fois.

Au passage, J'ai changé le nom du fichier, Car avec l'autre trop long, je me mélangeais les pinceaux ...

Mon fichier joint, c'est celui de ton retour rebatisé

23atlonia-test.xlsm (654.51 Ko)

Bonjour atlonia, bonjour le forum,

J'ai avancé passablement. Si la feuille "Concours" est vide (sauf le bouton et les colonnes AF, AG et AH, le même bouton fait toutes les parties et tout se déroule correctement.

J'ai tourné en rond un bout de temps à cause de noms en double dans la feuille "Inscriptions" ... je croyais que ma programmation était "buggée" et je ne trouvais pas la coquille.

Il manque le décompte des résultats comme protection avant de passer à la partie suivante.

J'ai passé un certain temps à tenter de contrôler le bouton. C'est un contrôle de formulaire que je déteste, car difficile à manipuler par programmation. Il est possible que je le change pour un contrôle ActiveX, lequel offre une multitude d'options aisément manipulables par programmation.

Dès que ce sera fait, le processus pour les Tête-à-Tête sera complété.

Transposer cela en doublette et en triplette sera, d'une certaine façon, facile.

Demain en fin de journées, aux heures québécoises, je devrais être en mesure de te transmettre une version entièrement opérationnelle des Tête-à-Tête.

A+

Joseph

Bonjour atlonia, bonjour le forum,

Ça a été mieux que je pensais.

Voici la version10 ... TêteàTête complétée.

Le bouton "Tirage 1re partie TêteàTête" lance la macro "DecomperLesParties" de la feuille "Concours".

Le texte du bouton change pour "Tirage 2e partie TêteàTête" et se déplace au bas du tableau.

Pour des fins de tests seulement et pour sauver du temps lors de ces tests, "Module7" macro "RemplirP_1" va copier les gagnants et perdants de la feuille "Concours (3)" dans la feuille "Concours".

Le bouton devenu "Tirage 2e partie TêteàTête" lance la macro "DecomperLesParties" de la feuille "Concours".

Le texte du bouton change pour "Tirage 3e partie TêteàTête" et se déplace au bas du tableau.

Pour des fins de tests seulement et pour sauver du temps lors de ces tests, "Module7" macro "RemplirP_2" va copier les gagnants et perdants de la feuille "Concours (3)" dans le tableau Partie 2

Le bouton devenu "Tirage 3e partie TêteàTête" lance la macro "DecomperLesParties" de la feuille "Concours"... (toujours la même, mais dynamique).

Le texte du bouton change pour "Tirage 4e partie TêteàTête" et se déplace au bas du tableau.

Pour des fins de tests seulement et pour sauver du temps lors de ces tests, "Module7" macro "RemplirP_3" va copier les gagnants et perdants de la feuille "Concours (3)" dans le tableau Partie 3

Le bouton devenu "Tirage 4e partie TêteàTête" lance la macro "DecomperLesParties" de la feuille "Concours"... (toujours la même, mais dynamique).

Le texte du bouton change pour "Tirage 5e partie TêteàTête" et se déplace au bas du tableau.

Le bouton devenu "Tirage 5e partie TêteàTête" lance la macro "DecomperLesParties" de la feuille "Concours"... (toujours la même, mais dynamique).

Ici, étant donné qu'il y a peu d'équipes restantes, tu devras faire le choix des G et de P par le double-clique (fonction connue de ta part).

S'il manque des G ou des P dans les colonnes C ou K, un MsgBox va aviser.

Selon le nombre de participants au départ, il peut y avoir une 6e ou des Xe parties.

Tu ne peux pas lancer les macros manuellement, sauf si tu lances toujours la macro "DecomperLesParties" de la feuille "Concours". Sinon, les variables publiques seront vides et tout va aller de travers. En période de test, ce ne sera pas grave. Mais lors d'un concours, ce sera la cata. Le mieux est de passer par le bouton vagabond.

Si tu es satisfait, j'attaquerai les Doublettes et les Triplettes sur le même schéma.

Lors de "vrais" concours, il devra y avoir des copies de sécurité sur la station de travail et d'autres sur une clé Usb ... on n’est pas à l'abri d'un appareil qui tombe pour quelque raison que ce soit et se casse. Si l'avancement des scores était perdu, je n'ose imaginer quel sort tu devras subir.

A+

Joseph

Pour recommencer les tests, j'ai placé un bouton "Tout effacer pour reprendre les tirages".

Bojour retraite8,

C'est parfait...

c'est exactement ce que j'avais imaginé....

Merci pour ce beau travail....

Je vais continuer à scruter ton code pour me perfectionner encore plus en VBA...

Merci encore...

A+

bonjour retraite8,

Avant que tu ne t'investisse trop loin dans les Doublettes et les triplettes, que pense tu de l'idée de se servir de la même feuille "concours" pour l'affichage de ces 2 tirages...?

Cela est-il réalisable, ou présente t-il un inconvénient ?

Cela limiterait le nombre de feuilles...

Une idée qui m'a traversé l'esprit!

Bon dimanche,

A+

Bonjour atlonia, bonjour le forum,

J'ai parfois l'impression qu'Excel n'est limité que par nos connaissances, nos capacités et l'huile de bras qu'on consent à y dépenser.

Oui, ce serait possible, presque tout est possible.

Par contre, dans un même tournoi de ces preux chevaliers pour les beaux yeux de la fille du shérif, il n'y a qu'une catégorie à la fois ?

TêteÀTête une journée, Doublette une autre et les Triplettes à une troisième.

Ou il y a trois écuyers bardés chacun d'une machine de guerre pour comptabiliser ces rudes affrontements ?

Je pose la question, car, j'ai une étrange impression que je viens d'hériter de la corvée de patates.

Joseph

Bonjour atlonia, bonjour le forum,

Mon économe est bien affuté et j'ai commencé à me faire la main. Il ne reste qu'à se méfier des tendinites.

Méfie-toi de mon dernier chiffrier, je constate qu'il y a des problèmes avec le tri aléatoire des concurrents en tête-à-tête.

Une interaction qui m'a passé sous le nez et je n'ai rien vu.

Pour continuer les rénos dans la lignée d'une seule feuille (Concours) qui se compose selon les choix de départ, je "scrappe" la feuille "Tirages Équipes" devenue inutile. Il en sera de même pour les feuilles "Tirages Doublettes", "Tirages Triplettes" et "Consolante" devenues, elles aussi, inutiles.

Mon dernier petit pas : j'ai ajouté des boutons options en haut de la feuille "Concours" afin de sélectionner le type d'affrontement (tête à tête, doublette ou triplette) ... avec protection contre le changement si la partie est commencée.

J'ai testé à nouveau le bon déroulement, avec un bon tri aléatoire, des tête-à-tête, puis ce sera le tour des équipes doublettes et triplettes.

L'entête est la même, la grille a été adaptée.

Je suis à grands coups d'économe dans la 2e partie des doublettes.

C'est l'heure de la pause dans les bras de Mophée.

A+

Joseph

Bonjour retraite8,

Je vois que tu ne manque pas d"ardeur et je t'en remercie mille fois...

Les dernières modifications que tu envisages me sembles parfaites et son bien dans la lignée de ce que je souhaitait obtenir...

j'ai une étrange impression que je viens d'hériter de la corvée de patates.

Pardon si je t'ai donné l'impression de te refiler tout le bouleau, mais, c'est vrai que, en tant que débutant, emporté par l'euphorie de voir mon projet avancer à grands pas, je t'ai un peu pris pour le messi.

C'était sans arrière pensée, juste celle d'apprendre, car je n'attends pas simplement que tes post arrivent, je passe des heures à essayer de comprendre ton code, le découper en sections, le commenter et des heures sur le Web à la recherche d'informations sur ce que je ne comprends pas...

J'avoue qu'à 62 ans, c'est un peu compliqué de tout assimiler, mais je m'accroche, j'ai toujours autant, sinon plus grâce à toi, soif d'apprendre...

Merci encore pour tout le savoir que tu partage avec moi et tous les débutants du forum....

A+

Bonjour atlonia, bonjour le forum,

Tu sais, j'aime bien taquiner.

Il me reste quelques vérifications et quelques coquilles à corriger pour que tàt et doub soient complété.

Dès que ce débugage sera complété, je déposerai une copie avant de tripletter.

A+

Joseph

Bonjour atlonia, bonjour le forum,

Voici la version 15.

Elle comprend les tirages et traitements des Tête-à-Tête et Doublette. Ces deux-là fonctionnent bien.

Il reste des tests à faire bien sûr; surtout en variant le nombre de concurrents.

Cette pause m'a permis de cogiter sur la chose et de consolider des passages bancals.

Je compte sur tes commentaires pour consolider plus avant.

Le code n'est ni épuré ni documenté; gardons cela pour la version finale.

Les boutons-options dans la feuille "Concours", en U2, V2 et W2 servent à choisir le type de tournois.

Je fourbis ma patience et masse ce qui repose sur la chaise; puis, j'attaque les Triplettes.

A+

Joseph

Bonjour atlonia, bonjour le forum,

J'ai commencé les Triplettes et voilà une grosse coquille sur laquelle je viens me barrer les pieds.

Ce n'est pas trop grave pour l'instant ... mais, le fait est que lors du tirage de la 1re partie des TaT, Doub ou Trip, il n'y a pas de trie aléatoire ... on obtient toujours la même séquence.

Je sais comment corriger. Mais il ne faudra pas paniquer avec le fichier V15 que je viens de téléverser.

Aux parties suivantes (2e, 3e, etc.), le tri aléatoire se fait bien.

A+

Joseph

Bonjour retraite8,

Je vois que tu t'es bien remis, ça fait plaisir...

Merci pour cette nouvelle version, je l'ai un peu testée, elle a l'air de bien fonctionner ...

Je n'ai rien remarqué de suspect pour l'instant, je pousserai les tests avec une liste plus longue, mais je ne vois pas de raisons pour que ça n'aille pas.

Merci encore pour ton investissement...

A+

Bonjour retraite8,

J'ai refais des tests avec 90 joueurs en tête à tête, ça bug au tirage de la 8ème partie, quand il ne reste plus que 2 joueurs en compétition...

J'ai balisé la ligne fautive avec des '000000000000000000 dans le fichier joint...

elle est dans la procédure "Sub GagnantsConcoursTaT_3eP()" de la "Feuil12(Concours).

En doublettes je n'ai pas rencontré ce problème,

Bonne journée...

A+

Rechercher des sujets similaires à "calage procedure compliquee"