Tirage 2 ème partie
Bonsoir le forum,
Ma première partie est en place en feuille "Concours", J'aimerais que les gagnants entament la 2 ème partie....
pour ce faire, je dois importer ces gagnants repérés en colonnes "C" et "G" par la lettre G (Gagnant) dans une nouvelle grille avec "Entête" en dessous de la première avec un intervalle d'1 ligne.
Et qu'un tirage au sort soit effectué parmi les joueurs importés pour qu'il ne soient pas simplement copier à la suite.
J'ai déjà une macro qui fait cela pour le "Tirages Triplettes", mais à l'horizontale, et comme je voudrais visualiser en même temps à l'écran les parties "Concours" et "Consolante", J'ai besoin que ça se fasse à la verticale.
J'ai bien essayé de me servir de cette macro pour l'adapter à mes besoins, mais j'avoue, même si grâce a vous j'ai fais de gros progrès, ne pas en être encore capable...
c'est pourquoi je vous soumet mon problème, espérant qu'une âme de bonne volonté acceptera de m'aider.
Je vous en remercie par avance...
Mon fichier joint:
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour atlonia, bonjour le forum,
Une fois que les résultats (G et P) sont inscrits, il devient important de protéger les résultats.
Il y aurait, peut-être, à faire une copie du fichier avant le deuxième tour.
Pour ma part, j'ai verrouillé les feuilles, excepté les cellules où le double-clique inscrit G ou P.
Une fois le 1er tour complété, en cliquant sur le bouton "Tirage 2e partie", toutes les cellules de la 1re partie sont verrouillées.
La composition des équipes de 2e partie se fait.
Il n'y a pas de trie aléatoire parmi les gagnants ou les perdants, car, c'est déjà l'habileté des concurrents qui détermine aléatoirement les gagnants.
Le double-clique est disponible pour les colonnes C, G, K et O pour la 2e partie.
Je présume qu'il y aura autant de parties tant qu'il n'y aura pas un gagnant final, et un gagnant dans les consolantes.
Pour pouvoir tout effacer et reprendre le tirage de la 1re Partie sur la feuille "Concours", il faut supprimer "En cours" dans la cellule "J1", sinon les macros ne fonctionnent plus. (se souvenir que la feuille est protégée)
En H1, caché sous le bouton, je fais inscrire le numéro de la dernière ligne de la 1re partie, afin de pouvoir positionner les tableaux de la 2e partie en dessous de celui de la 1re partie ... car, le nombre d'inscriptions est variable.
J'ai effectué de petites corrections, ici et là.
Pour la 2e partie, j'ai ajouté les modules "M_Tirages_2eP" et "M_EnteteEtGrilles_2eP".
Je trouvais cela plus simple que d'adapter le code à toutes les situations, ce qui aurait été un trop gros casse-tête, ma tête aurait cassée avant la fin.
Je ne sais plus si j'oublie de mentionner des choses que j'ai faites.
Quoi qu'il en soit, on aura sûrement d'autres contacts, ne serait-ce que pour les 2e partie des doublettes et des triplettes.
Je trouve ton projet intéressant et, surtout, désennuyant.
A+
Joseph
Bonjour retraite8, bonjour à tous
Merci pour ce travail remarquable....
bien vu pour la copie et le blocage des parties déjà tirées , c'était effectivement dans mes prévisions...
quand tu dis:
Il n'y a pas de trie aléatoire parmi les gagnants ou les perdants, car, c'est déjà l'habileté des concurrents qui détermine aléatoirement les gagnants.
C'est vrai, mais je pense qu'il est quand même nécessaire; les petits N° d'équipes rencontrent les petits N°, et les gros rencontrent les gros...!
Et j'essaie de parer à toute éventualités...!
Deux personnes peuvent très bien s'inscrire en début et en fin d'inscription pour éviter de se rencontrer trop tôt dans le concours (je connais mes gaillards, c'est des boulistes, ils sont calculateurs...) afin d'avoir plus de chances de le gagner et de partager en finale
Je présume qu'il y aura autant de parties tant qu'il n'y aura pas un gagnant final, et un gagnant dans les consolantes.
Naturellent
Pour la 2e partie, j'ai ajouté les modules "M_Tirages_2eP" et "M_EnteteEtGrilles_2eP".
Je trouvais cela plus simple que d'adapter le code à toutes les situations
C'est pourquoi je me demande si il va falloir recréer la grille et le tirage pour chaque partie suivante...?
auquel cas on va être très rapidement limités.
Ou peut'on se resservir de ceux ci pour le 3ièmes, 4ièmes,..., Nièmes parties...?
Merci de ton aide et de l'intérêt que tu porte à mon projet...
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour atlonia, bonjour le forum,
Une question me turlupine.
À la fin de la 1re partie, les gagnants vont d'un bord pour la 2e partie et les perdants de l'autre pour cette 2e partie.
Qu'arrive-t-il des perdants de ces 2 groupes? Ils partent boire un coup et on les oublie.
Joseph
bonjour retraite8
retraite8 a écrit :Bonjour atlonia, bonjour le forum,
Une question me turlupine.
À la fin de la 1re partie, les gagnants vont d'un bord pour la 2e partie et les perdants de l'autre pour cette 2e partie.
Qu'arrive-t-il des perdants de ces 2 groupes? Ils partent boire un coup et on les oublie.
Joseph
Nooonnn ils ne partent pas, on a une buvette avec un serveur très sympa qui les accueille à bras ouverts, ils ont également un coin ombragé avec des tables et des chaises pour se reposer ou ils peuvent jouer entre eux s'ils le souhaitent...! lol
Mais OUI, pour eux le concours et fini...
Il y a une autre version de tirage que l'on appelle "les poules" que je dois travailler dés que celle ci sera terminée.
Comme tu peux le voir, j'ai encore du pain sur la planche...
Merci encore de ton intérêt pour mon projet...
Bonjour retraite8,
Pardon de te déranger, mais j'ai un problème avec le fichier que tu m'as renvoyé, je n'arrive plus à le faire fonctionner....!
Le 1er tirage se passe bien, lorsque j'appuie sur le bouton pour le 2ème tirage, le message:
"Erreur d'éxécution'1004': La méthode 'Range' de l'objet_'Global' a échoué"...
Et me surligne la ligne:
Option Explicit
'*******************************************************************************
'** Macro de création de l'entête des parties **
'*******************************************************************************
'
' Dessine l'entête des parties.
' Ecrit "Partie N° (Incréménté à chaque tirage de nouvelles partie).
' Défini les couleurs et les bordures.
'
Sub Entête2eP()
Dim LesP As Integer ' sert à composer les 2e partie
Application.ScreenUpdating = False ' Désactive le rafraîchissement de l'écran et permet une exécution plus rapide du code
Worksheets("Concours").Unprotect
If Range("J1") = "En cours" Then
LesP = Range("H1") + 6
Else
LesP = 1
End If
' --------------
' Plage d'entête
' --------------
Range("A" & LesP - 1 & ":G" & LesP - 1 & ",i" & LesP - 1 & ":O" & LesP - 1).Select
With Selection
.RowHeight = 33 ' epaisseur de la ligne
.Interior.Color = RGB(150, 240, 150) ' Vert
' .Interior.Color = RGB(250, 200, 150) ' Orange (deuxième couleur pour la consolante)
.Borders.LineStyle = xlContinuous ' défini le style de bordure (continu)
.Borders.Weight = xlMedium ' Défini l'épaisseur de la bordure (épaisse)
Selection.Borders(xlInsideVertical).LineStyle = xlNone ' Supprime les bordures verticales intérieures de la plage de cellules
End With
Dans le module "M_EnteteEtGrilles_2P" ??????
Je l'ai téléchargé à nouveau, mais c'est pareil...!
Peux tu STP y jeter un coup d'oeil et me dire ce qui a changé depuis la 1ère fois ou je l'ai téléchargé....
Je n'y comprend plus rien, j'ai le cerveau qui fume...
Je te joint La version téléchargée à nouveau ce matin:
Si tu vois quelque chose, peux tu m'expliquer STP ?
Merci de ton aide.
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Bonjour toutes et tous,
Atlonia, j'ai peur que Range hum regarde ici :
j'ai peur de dire des bêtises mais, j'ai un doute sur la concatén... des ranges, comme çà
https://msdn.microsoft.com/fr-fr/library/office/ff838238.aspx
crdlt,
André
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour atlonia, bonjour le fil, bonjour le forum,
Je réalise que tu as Excel 2007 (Andre13 itou) et moi Excel 2016. C'est peut être là d'où vient le problème. Je crois que je peux tester sur une version 2007.
Le chiffrier fonctionne bien. Le bouton "Tirage 2e partie" de la feuille "Concours" fait son travail, même peut-être trop vite pour qu'on s'en aperçoive.
Il déverrouille la feuille et la réécrit. Puis, reverrouille la feuille.
Ici, j'avoue avoir oublié de faire effacer avant. Mais comme ça réécrit par dessus, c'est un moindre mal.
Pour effacer manuellement la 2e partie, il faut que tu déverrouilles la feuille.
Si la feuille est verrouillée, le bouton "Tirage 2e partie" fonctionne quand même.
Tu remarqueras que le double clique dans les cellules des colonnes C, G, K et O, des lignes 56 à 78 fonctionne pour inscrire G ou P au cours de la partie même si la feuille est protégée.
Comme je l'ai déjà mentionné, "J1" doit contenir "En cours" afin de protéger la partie 1.
Si tu veux lancer les macros manuellement pour la partie2, il faut commencer par la macro "TêteÀtête2eP" du userform "M_Tirages_2eP". Cette macro se sert du code dans le userform "M_EnteteEtGrilles_2eP".
Remarque que c'est le même cheminement que pour la partie1 : macro "TêteÀtête" du userform "M_Tirages" laquelle se sert du code dans le userform "M_EnteteEtGrilles".
J'espère avoir été plus clair pour démêler tout cela.
Désolé pour l'erreur sur l'effacement de la feuille.
Je renvoie le fichier corrigé.
Joseph
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour à tous,
J'ai testé et retesté sous Excel 2016.
Ma vieille machine a consenti à démarrer. Il y a Excel 2007 sur cette antiquité. J'ai testé et retesté sous Excel 2007.
Sous 2007, à part :
Sub MiseForm()
Menu.Select
Application.GoTo [A1], True
Menu.ScrollArea = "A1"
End SubQue j'ai modifié pour :
Sub MiseForm()
Menu.Select
Application.GoTo range("A"), True
Menu.ScrollArea = "A1"
End SubTout fonctionne à merveille.
Désolé, mais je ne réussis pas à reproduire le "bug" de la ligne verte précitée.
Joseph
Merci retraite8,
Je teste depuis tout a l'heure, et je crois que j'ai mis le doigt sur l'erreur...
qui en fait vient d'une mauvaise manipulation de ma part...
Je ne sortait pas de la dernière cellule ou j'avais inscrit "G" avant de cliquer sur le bouton 2ème partie...
idiot que je suis...!
Pardon de t'avoir fait chercher pour rien...
Merci encore pour ton aide.
Encore moi,
Je viens de découvrir une faille dans le tirage à laquelle je n'avais pas pensé et qui conforte l'idée du tirage au sort avant chaque tirage:
49 joueur = 24 parties en tête à tête et 1 joueur qui tire l'impair (Cad qu'il est gagnant sans jouer)
de 24 parties, => 12 gagnants et 12 perdants
2ème partie:
12 joueurs + l'impair = 13 joueurs donc 6 parties et encore un impair...
En inscrivant dans l'ordre, c'est l'impair de la 1ère partie qui se retrouve encore impair a la seconde partie
3 ème partie:
13/2=6 + encore le même impair....
le même joueur se retrouve 3 fois impair, ce qui n'est pas envisageable, les autre crieraient au scandal.....
sans vouloir abuser de ta gentillesse, aurais tu une idée de solution ?
Merci de ton indulgence.
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour à tous,
Une idée, bien sûr. Ce ne sont pas les idées qui manquent, ce n'est que l'énergie et la motivation
Je devrais dire la motivation et l'énergie. Car, la motivation donne l'énergie
Je suggère une approche telle celle de la 2e partie des Triplettes ... de Belleville. https://www.google.ca/search?hl=fr&source=hp&q=Triplettes+de+Belleville&oq=Triplettes+de+Belleville&gs_l=psy-ab.13..0l4.1734.1734.0.5357.1.1.0.0.0.0.146.146.0j1.1.0....0...1.2.64.psy-ab..0.1.145.eNpySKhztZo désolé les idées sautent de la gauche à droite ou de droite à gauche... un vrai tennis.
La méthode : on place en séquence linéaire les numéros des gagnants et des perdants dans deux colonnes (disons AG et AH) voisines d'une autre dont les numéros sont séquentiels (disons AF). Une variable Dl (dernière ligne) sur une des deux colonnes où sont les numéros des gagnants et des perdants.
DL représentera le nombre de compétiteurs. Sur la colonne AF, on fait un tri aléatoire de ("AF1:AF" & dl). Puis, un nouveau tri "ordinaire et non aléatoire", mais cette fois de (AF1:AH & dl) avec comme clé de trie AF. Du coup, AG ET AH se retrouve avec un tri aléatoire. Il ne reste qu'à utiliser les numéros en séquence de ("AG1:AG" & dl) pour rechercher avec une boucle les gagnants, puis les placer l'un à gauche et le suivant à droite. Idem pour la Consolante. Tout le code est là chez les Triplettes, il ne reste qu'à légèrement simplifier, car on parle de tête-à-tête.
J'ai élaboré cette méthode, car je n'ai pas trouvé comment faire un tri aléatoire sur une séquence de numéros non consécutifs.
La même méthode pourra être utilisée pour les Doublettes et les parties 3, 4, etc.
Il y a sûrement de meilleures méthodes. Mais on fait avec ses connaissances et ses aptitudes.
Bon courage.
Joseph
P.S. La motivation est cyclique. Je vais donc, sous peu, me remettre à me cogiter des astuces les plus pourries les unes que les autres.