Tirage au sort

vfr123456

XLDnaute Nouveau
Bonjour à tous.
Voilà, j'organise un concours de belote ce soir et j'aimerai savoir si excel peut me faire un tirage suivant quelques règles :
- je ne sais pas encore combien il y aura d'équipes (entre 10 et 30)
- les équipes ayant un numéro impair ont une table fixe et ne bougent donc pas : elles rencontrent donc exclusivement des équipes "pair"
- le jeu se fera en 6 tours
- deux équipes ne doivent pas se rencontrer deux fois

Je sais que je suis difficile mais j'ai un niveau un peu faible sous excel et je ne connais pas du tout les macros.
Les autres années je ne faisait pas de tirage et j'ai eu des cas de triche ... je vous donne donc ce que cela donnait.

Merci d'avance...
 

Pièces jointes

  • belote09.xls
    19 KB · Affichages: 146
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Tirage au sort

Bonjour vfr123456,

Ci-joint une proposition.
Tu indiques le nombres d'équipe (j'ai testé que un nombre pair) en D2 puis tu exécute le bouton.
C'est pas optimal car il peut arriver que la macro tourne en boucle.
Pourquoi? Je te laisse découvrir par toi-même, tu devrais comprendre.
Pour stopper le code, Ctrl+Pause.
Re-exécute la macro, dans ce cas.
A défaut de mieux.
Bonne soirée.

PS: une remarque tout de même: si il y a 10 équipes, il ne sera pas possible de faire 6 tour puisqu'il n'y a que 5 équipes pairs...
 

Pièces jointes

  • belote.zip
    11.7 KB · Affichages: 86
Dernière édition:

vfr123456

XLDnaute Nouveau
Re : Tirage au sort

Merci beaucoup skoobi, c'est parfais malgrès les petits plantages ...
Je me suis aperçu de mon erreur (10 équipes) après avoir envoyer le message, mais de toute façon, j'espère en avoir plus de 10 ;)

Et merci encore.

@+
Vincent
 

EricD01

XLDnaute Junior
Re : Tirage au sort

Salut à toi...

je t'ai également créé un fichier mais par moment je rencontre le même problème que SKOOBI...alors si quelqu'un a une solution...ce serait cool de la faire connaitre...

Dans l'attente bye à tous...
 

ROGER2327

XLDnaute Barbatruc
Re : Tirage au sort

Bonsoir à tous
Une proposition valable de 0 à 200 équipes (et plus si besoin est). Code brut de fonderie, donc largement optimisable, mais testé et fonctionnel.​
Bonne soirée !
ROGER2327
 

Pièces jointes

  • vfr123456_belote.xls
    37.5 KB · Affichages: 160

skoobi

XLDnaute Barbatruc
Re : Tirage au sort

Re,

bonjour EricD01, roger :),

Mettre un fichier qui peut planter, c'est pas mon genre :D.
Donc voir ci-joint si jamais tu repasses par là sinon ça servira peut-être à d'autres ;).

Bonne soirée.
 

Pièces jointes

  • créer rencontre belote.zip
    12.6 KB · Affichages: 97

EricD01

XLDnaute Junior
Re : Tirage au sort

Bonjour à tous...

Je voulais juste avoir un renseignement car je vois souvent apparaitre ca: Set MonDico = CreateObject("Scripting.Dictionary") dans les programmations mais je ne vois pas a quoi cela correspond...

D'avance merci pour vos réponses...
 

soenda

XLDnaute Accro
Re : Tirage au sort

Pour le fun, une autre solution.

"Tirage au sort" par mélange, césure et distribution de la colonne "tour 1".

C'est très rapide, pas de blocage et si le nombre d'équipes est supérieur à 10, aucune équipe ne rencontre 2 fois la même.

A noter, si on a que 10 équipes pour 6 tours et que l'on veut que les équipes impaires restent à la même table
- c'est-à-dire ne se rencontrent pas -
Il ne reste pour chacune d'elles, que 5 équipes paires à rencontrer ... pour 6 tours.

Dans ce cas une MFC colore en rouge le tour identique au tour 1

@vbacrumble : Merci pour ton lien :)

A plus
 

Pièces jointes

  • Tirage au sort Belote.xls
    57.5 KB · Affichages: 115

soenda

XLDnaute Accro
Re : Tirage au sort

Re,

Et pour les esprits chagrins, qui trouveraient que 1,1 seconde, c'est vraiment trop lent:

Remplacer
Code:
For L = 2 To fin
    x = x + 2
    Cells(L, 1) = x - 1
    Cells(L, 2) = x
    Cells(L, 3) = Rnd()
Next
Par
Code:
[A2] = 1: [A3] = 2: [A2:A3].AutoFill Range("A2:A" & fin), xlFillDefault
[B2] = 2: [B3] = 4: [B2:B3].AutoFill Range("B2:B" & fin), xlFillDefault
[C2] = Rnd(): [C3] = Rnd(): [C2:C3].AutoFill Range("C2:C" & fin), xlFillDefault
ça tourne en 0,15 seconde (fin =9999)

Happy coding :D
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12