Cédule d'un tournoi a la ronde

benmoffet Messages postés 1 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 4 septembre 2005 - 4 sept. 2005 à 02:33
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 4 sept. 2005 à 18:18
J'ai une question qui m'embete vraiment et qui pourtant doit etre vraiment simple a résoudre en utilisant du code VB.

Voila, j'organise un petit tournoi a la ronde dont voici le fonctionnement :
Nous avons 8 équipes et il y a 5 jeux en tout.
Lors d'un jeu, 2 équipes s'affrontent.

Chaque équipe doit faire chaque jeu une et une seule fois et chaque équipe ne doit pas rencontrer une équipe contre qui elle a déja joué.


Voici un schéma d'une cédule QUI NE FONCTIONNE PAS!


Jeu 1 ,
Jeu 2,
Jeu 3,
Jeu 4,
Jeu 5,
----

8h30,
1,
2,
3,
4,
5,
6,
7,
8,
,
,
----

9h00,
3,
6,
1,
5,
2,
7,
,
,
4,
8,
----

9h30,
4,
7,
2,
8,
,
,
1,
6,
3,
5,
----

10h00,
5,
8,
,
,
1,
4,
2,
3,
6,
7,
----

10h30,
,
,
6,
7,
3,
8,
4,
5,
1,
2

Cette cédule ne fonctionne pas car, par exemple l'équipe 1 et 2 se rencontre a 8h30 pour le jeu 1 et a 10h30 pour le jeu 5, etc.

Il doit bien exister une facon de programmer un horaire qui fonctionne, mais je ne le trouve pas!

SVP. Aidez-moi. Dites-moi comment faire un programme EXCEL (VBA) pour que ca fonctionne!

Merci
Benjamin



Jeu 1 ,
Jeu 2,
Jeu 3,
Jeu 4,
Jeu 5,
----

8h30,
1,
2,
3,
4,
5,
6,
7,
8,
,
,
----

9h00,
3,
6,
1,
5,
2,
7,
,
,
4,
8,
----

9h30,
4,
7,
2,
8,
,
,
1,
6,
3,
5,
----

10h00,
5,
8,
,
,
1,
4,
2,
3,
6,
7,
----

10h30,
,
,
6,
7,
3,
8,
4,
5,
1,
2

2 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 sept. 2005 à 16:52
jouer 1 et 1seule fois à CHAQUE jeu et ne jamais jouer contre une équipe déjà rencontrée, il me semble que ce n'est pas possible avec 5jeux. il en faut 7
PCPT
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
4 sept. 2005 à 18:18
Private Sub Command1_Click()

Dim i As Integer

Dim j As Integer

Dim n As Integer

Dim T(7, 8) As Integer

Dim X(8) As Integer



'remplissage Table avec tous les cas possibles: 28 match possible

'12

'13 23

'14 24 34

'15 25 35 45

'16 26 36 46 56

'17 27 37 47 57 67

'18 28 38 48 58 68 78



For i = 1 To 7

For j = i + 1 To 8

T(i, j) = 1

Next

Next



Randomize Timer



'boucle pour 5 jeux

For n = 1 To 5

'RAZ pour lignes éliminées

For i 1 To 8: X(i) 0: Next

MsgBox "Jeu numéro " & n

'boucle pour 4 match / 8 joueurs

For i = 1 To 7

'élimination joueur déjà pris

If X(i) = 0 Then

Do

j = Int(Rnd * 8) + 1

DoEvents

'élimination match déjà pris ou ligne déjà prise


Loop Until T(i, j) 1 And X(j) 0

MsgBox i & " - " & j

'on élimine le joueur j et la ligne j

X(j) = 1

'on élimine le joueur j

T(i, j) = 0

End If

Next

Next



End Sub


Daniel
0
Rejoignez-nous