Tirage au sort aléatoire pour la pétanque

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Bonsoir dranreb, en manuel je parviens a faire une bonne répartition des N°. en automatique VBA je ne sais pas . j'ai regardé la Macro mais pour moi c'est pire que du Chinois. Pour le moment la Macro teste pour dix joueurs parfois c'est bon , mais quand la Macro sera parfaite je ne vois pas comment l’intégrer au fichier Excel définitif pour 150 participants maximun .
merci de ton aide
Cordialement Joan
 

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Alors faites en juste une, pour changer, une bonne répartition, et la macro les fera toujours bonnes. Pour l'instant, contrairement à ce que vous dites, le test les fait toujours mauvaises parce qu'il s'appuie sur le modèle 10 joueurs qui est mauvais.

Remarque: Je ne crois pas qu'il en existe qui respecte toute les contraintes pour moins de 16 joueurs.

Remarque 2: même votre 16 joueurs n'est pas bon : 13 avec 5 en T2 et T3 !
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonjour.

Le dernier constat m'a incité à mettre au point un modèle 16 joueurs un peu plus sérieux.
Vous pouvez ainsi constater que s'appuyant selon un tel modèle la procédure de tirage est déjà parfaite.
 

Fichiers joints

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Bonjour Dranreb, Je viens de testé la dernière Macro pour un tirage avec 16 participants et après plusieurs tirage ça fonctionne bien .
Vous êtes dans la bonne voie pour résoudre le problème des Nbres aléatoire sans doublons .
Merci beaucoup pour tout le temps passé a mon tableau .
Cordialement Joan
 

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Oui, et je m'arrête là. Parce que je vous avais seulement promis cette procédure de réattribution aléatoire dans le maximum de sens possibles d'un modèle correct spécifié en second paramètre sous forme d'un tableau de Variant, son résultat étant renvoyé sous la même forme dans un tableau spécifié en premier paramètre.
La mise au point du modèle 16 joueurs c'était juste exceptionnellement, en prime.
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonjour à tous

Un essai pour JOAN

A tester et me tenir au courant S.V.P

NB: Je n'ai pas du bien comprendre puisque le fichier semble donner des solutions pour 8 joueurs
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonjour pierrejean.
D'après ce que j'avais compris moi, ce serait déjà faux dès la 1ère ligne de T2 puisque le 1 à déjà compté le 7 parmi ses adversaires en T1.
 

pierrejean

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

OK

Je le pressentais vaguement
Il s'agit donc qu'aucun joueur n'ait 2 fois un même partenaire ou adversaire
Bien plus coton en effet !!!!
 

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonsoir.

LeBouliste72, bien qu'il aurait mieux valu, à mon avis que vous ouvriez votre propre discussion, je peux vous dire que ma procédure de réattribution aléatoire de numéros à partir d'un modèle correct préétabli pourrait sans doute aussi être utilisée dans votre cas.

Edit. Je viens de voir qu'il existe une discussion ouverte par vous à laquelle personne n'a répondu. Mais ma réponse reste valable.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonjour.
J'ai du nouveau si ça vous intéresse toujours.
Ça concerne la planification du tournoi par choix aléatoires successifs parmi les joueurs disponibles.
La solution met en œuvre une procédure récursive à laquelle on demande si une rencontre est possible pour la 1ère ligne de la 1ère manche. Récursive, ça signifie qu'elle demande à son tour par une autre exécution de ses propres instructions s'il existe une solution pour la 2ième ligne de la 1ère manche, et ainsi de suite…
Il s'avère que pour 16 joueurs le temps nécessaire pour le déterminer la solution est toujours assez court. Il le reste même s'il y a une 5ième manche.
En revanche pour moins de joueurs le temps nécessaire à déterminer qu'il n'y a pas de solution est très très long.
Dans l'état actuel le nombre de joueurs doit être multiple de 4.

Pour 12 joueurs une solution est trouvée en quelque dixièmes de secondes dans 9 cas sur 10 et en 40 secondes dans 1 cas sur 100 (ce ne sont que des estimations d'après observation)
 

Fichiers joints

Dernière édition:

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Bonjour a tous , désolé de ne pas avoir répondu a vos message mais des obligations m'ont retenu loin du PC et d'Excel.
Pierrejean sur l'essai "Joan1.xlsm" hélas il y a des doublons . La solution de Dranreb " Tournois 2 contre 2 " me paraît plus approprié a mon projet . Serait il possible de mettre une liste de noms et faire tourner les Nbres aléatoires de 1 a 156 participants .
Les copains du club de Pétanque me donnent des idées de plus en plus contraignante pour faire les tournois avec Excel, Logiciel que malheureusement je ne maitrise pas .( exp: ne pas mettre deux femmes ensemble , et également pas de femme en tête a tête )
Tout le club se joint a moi pour vous remerciez de tout les efforts que vous faites pour trouver une solution au projet.
Cordialement Jean Marie
 

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Re bonjour Dranrb, désolé ne n'ai pas vu que l'on peut modifier le nbres de joueurs et le nbres de manche .
je fais des essais et je vous tiens au courant .
Merci beaucoup pour votre aide
 

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Ajouté les tête à tête pour nombre de participant non multiple de 4.
Et chose incroyable: non seulement il y a des solutions pour 10 joueurs mais ça semble plus facile que pour 12 joueurs.
C'est vrai que ça élimine des cas de partenaires ne devant plus rejouer ensemble, mais quand même, un joueur ne peut y être qu'une fois et ça compte avec son adversaire pour une rencontre.

Pour les contraintes supplémentaires (sexe ou club) ça ne change pas l'algorithme, même si ça lui complique la tâche :
Pour qu'un joueur ne puisse jamais aller en tête à tête ou que deux joueurs ne puisse jamais être partenaires ou adversaires il suffit de noter à l'initialisation qu'ils sont supposés l'avoir déjà été.
 

Fichiers joints

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Re-Dranreb , la dernière solution proposé est très satisfaisante . Le message( Pas de solution trouvée ) en 8 joueurs en 4 manches est une bonne idées ,cela permet de réduire a 3 manches, excellent ! . Peut t'on faire disparaitre le bouton tirage, si supérieur a 3 manches ou mettre un message (exp: incompatible ) . De toutes les solutions c'est celle-ci que a le meilleurs résultat pour mon projet.
Le tête a tête est également bien trouvé et qui fonctionne , Yess !
Chapeau Monsieur, ou Chapeau Madame .
Cordialement Joan
 

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Oui, ça doit pouvoir se faire. Je me concentre sur l'algorithme essentiel. Après le reste ce n'est plus que de l'intendance qu'il vous appartiendra d'assumer. Mais vous pourrez toujours bénéficier de notre aide. Je reste de toutes façon à votre disposition pour toutes questions d'interface avec la procédure de tirage.
 

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Bonjour Dranreb, après multiples essais a faire tourné la macro des Nbres aléatoires et de faire varié le nombres de participants , tout fonctionne !. Super! Bravo! Monsieur .
Je souhaiterai copier les plages feuille " Tournois 2 contre 2 "(B7 à Q47) et les coller sur une feuille du même classeur nommé "Tableau Tournante " en N6 à AC46.
J'ai essayé mais il y a la première ligne en haut et le reste en bas de la feuille .
Bref je suis perdu !
Pourriez vous m'aider?
Cordialement Joan
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort aléatoire pour la pétanque

Bonsoir
En N6, à propager sur 6 lignes et 16 colonnes :
Code:
=INDEX('Tournois 2 contre 2'!Rencontre;LIGNE()-5;COLONNE()-13)
Mais ne préfèreriez vous pas que le tirage soit produit directement dans une plage nommée de la feuille Tableau tournante ?
Je vous dit ça parce que les #REF! de vos formules venaient de ce que la partie Mise en forme et affichage du résultat de la procédure ajustait la taille de la plage nommée "Rencontre" par insertion ou suppression de lignes et colonnes manquantes ou en trop.

Pour que la procédure Tirage22 envoie directement le résultat en plage N6:AC46 de l'objet Worksheet nommé Feuil1 (Tableau Tournante), il suffit de réécrire la fin plus simplement, comme ça :
VB:
Rem. ——— Mise en forme et affichage du résultat
Dim PlgRés As Range: Set PlgRés = Feuil1.[N6:AC46]
ReDim TAff(1 To PlgRés.Rows.Count, 1 To PlgRés.Columns.Count)
For L = 1 To LMax: For M = 1 To MMax: For C = 1 To 4
   If Tirage(M, L, C) <> 0 Then TAff(L, 4 * (M - 1) + C) = Tirage(M, L, C)
   Next C, M, L
PlgRés.Value = TAff
End Sub
Et en mettant ça au début vous n'auriez plus du tout besoin de la feuille "Tournois 2 contre 2" :
VB:
Rem. ——— Initialisations
JMax = Feuil1.[B170].End(xlUp).Row - 5
If JMax Mod 2 = 1 Then
   MsgBox "Tirage non applicable pour un nombre impair de participants.", _
   vbCritical, "Tirage22": Exit Sub: End If
MMax = IIf(JMax <= 8, 3, 4)
 
Dernière édition:

JOAN66

XLDnaute Junior
Re : Tirage au sort aléatoire pour la pétanque

Bonsoir Dranred, je viens de modifier la macro comme indiqué au dessus ,Mais hélas je ne suis pas doué avec Excel.
Il y a une message d'erreur sur la macro.
Dim PlgRés As Range: Set PlgRés = Feuil1.[N6:AC46] ' Set souligné en jaune et bloque .
Le code doit je le mettre sur Déclaration "génèral " ou sur la page Worksheet ? . j'ai essayé les deux et ça ne fonctionne pas

la proposition de le mettre directement en page "Tableau Tournante " de n6 a AC46 me convient parfaitement .
Milles mercis
Joan
 

Discussions similaires


Haut Bas