Réalisation d'un calendrier de matchs

Ronandinho1 Messages postés 4 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 29 novembre 2006 - 28 nov. 2006 à 12:37
Ronandinho1 Messages postés 4 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 29 novembre 2006 - 29 nov. 2006 à 12:28
Bonjour,
Je suis en train de réaliser un dossier où j'ai l'intention d'automatiser la gestion d'un tournoi de foot à l'aide de VB sur Excel.
Etant débutant je bloque actuellement pour réaliser un calendrier des matchs par poule . Par exemple :
Equipes :  1  Lyon
                2  Lille
                3  Lens
                4  Sochaux
                5  Nancy ....

Il peut y avoir entre 4 et 7 équipes et je voudrais qu'elles s'affontent toutes mais une seule fois càd en match aller seulement. Je ne sais pas quelle(s) instruction(s) utiliser.
Si vous pouviez me donner un petit coup de pouce ce serait sympa

6 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 nov. 2006 à 13:04
C'est avant tout un algorithme mathématiques :
En d'autres termes :
Trouver toutes les combinaisons possibles de 2 nombres, pris 2 à 2, parmi n nombres.
Ce n'est qu'ensuite que l'on passe à VB...
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
28 nov. 2006 à 13:14
Avec mon coupaing Google, à qui j'ai donné à manger "Algorithme calendrier sportif", je suis tombé sur ce lien qui devrait te donner les bases pour faire ce que tu veux :

http://www.developpez.net/forums/archive/index.php/t-50886.html

J'ai pas vraiment détaillé, mais ces explications m'ont l'air assez claires. A priori, rien d'insurmontable en VBA Excel
A toi d 'adapter à présent

Molenn
0
Ronandinho1 Messages postés 4 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 29 novembre 2006
28 nov. 2006 à 15:16
Merci de votre aide je vais essayer et je vous tiens au courant
0
Ronandinho1 Messages postés 4 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 29 novembre 2006
28 nov. 2006 à 16:43
Merci pour le lien Molenn mais vous allez peut être halluciner mais je bloque.
Voilà ce que j'ai commencé:
Sub calendrier()
Choixmacro = 28 'fait référence à la macro précédentes, doit être modifié si différent

Nbéquipe = (Choixmacro / 4)
Dim Equipe1 As Integer
Dim Equipe2 As Integer
Dim Journées As Integer
Equipe1 = "0"
Equipe2 = "0"
Journées = "0"
Do While Equipe1 < Nbéquipe
    Equipe1 = Equipe1 + 1
    Equipe2 = Equipe1 + 1
Do While Equipe2 < Nbéquipe + 1
    Journée = (Journée + 1) modulo (Nbéquipe - 1)
If Equipe1 <> Journées & Equipe2 <> Journées Then
   Equipe2 = Equipe2 + 1
End If
Loop
Loop
End Sub

Je ne comprends pas le terme modulo et ne suis pas sur de bien comprendre la strucure.
Serait il possible de m'indiquer les mots clés par ordre chronologique pour traduire l'algo du lien???
Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
29 nov. 2006 à 00:09
En VB, on utilise Mod, plutôt que Modulo
Mod ou Modulo retourne le reste d'un division
10 Mod 2 retourne 0     (10 / 2 = 5 reste 0)
11 Mod 2 retourne 1     (11 / 2 = 5 reste 1)
11 Mod 3 retourne 2     (11 / 3 = 3 reste 2)

MPi
0
Ronandinho1 Messages postés 4 Date d'inscription mercredi 12 avril 2006 Statut Membre Dernière intervention 29 novembre 2006
29 nov. 2006 à 12:28
Je tiens le bon bout!!!
Par contre, l'ordre de mes matchs n'est pas parfait.
Cela donne par exemple:
Equipe1 vs Equipe2            

 
Equipe1 vs Equipe3           

Equipe2 vs Equipe3






Equipe1 vs Equipe4           

Equipe2 vs Equipe4



Equipe1 vs Equipe5           

Equipe2 vs Equipe5



Equipe1 vs Equipe6           

Equipe2 vs Equipe6 ...



Equipe1 vs Equipe7




 Il faudrait que les équipes jouent les unes après les autres et non comme actuellement où l'équipe 1 a tous ses matchs d'affilés. L'aléatoire n'est pas terrible et il faudrait peut être une boucle mais je n'ai pas encore trouvé comment la faire.
Si vous avez une idée ... !!!
0
Rejoignez-nous