réalisation tournoi basket

stef31

XLDnaute Nouveau
Bonjour à tous

Je souhaite organiser un tournoi en basket, j'ai des difficultés pour réaliser des formules pour former des poules avec les noms des équipes aléatoirement, ensuite faire un classement automatique des poules en fonction des résultats.


Merci d'avance de votre aide, je suis largué^^
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonsoir,
pas ouvert ton fichier mais fais une recherche dans la zone téléchargement de ce site (et même sur le Net) : il y a pas mal de fichiers faits pour l'organisation de tournois de sports collectif (à adapter à ton cas).
A+
 

stef31

XLDnaute Nouveau
Re : réalisation tournoi basket

Bonsoir,

franchement , ma pomme je te remercie, c'est super ce que tu as réalisé, ca m'avance beaucoup, pour le reste tu as sans doute pas compris ou pas eu le temps, je comprends encore merci, je vais j'espère pouvoir réaliser cette évènement à temps!

Cordialement
 

piga25

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour Stef31
Salut Mapomme

Comme j'ai bossé un peu sur le fichier je le met. Il comptabilise les points pour les poules, ainsi que les qualifications pour les phases finale.
Le code pour le tirage des Poules est de CBernardT (que je remercie).:)
Voir le fichier joint qui peut accueillir 100 équipes avec 10 poules.

Mapomme, ton code est beaucoup plus simple pour le tirage des poules, je le garde sous le coude.:)
 

Pièces jointes

  • Tournois 100 équipes.xlsm
    114.3 KB · Affichages: 1 151

CBernardT

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonsoir stef31 et le forum,

Tu vois bien stef31 que c’est un bonheur ce forum, déjà plein d’idées et d’ébauches et même des ébauches bien ficelées de nos amis piga25, mikeo, mapomme, victor, david84.

Les quelques informations apportées n’étaient pas superflues. Par contre, ce n’est pas bien, mais pas bien du tout de changer de post, on ne s’y retrouve plus…. .

Avant de se fourvoyer, il serait bon de nous donner ta manière de "comment réaliser le classement entre équipes d’une poule". Gérer les scores, gérer les points attribués pour un match gagné, un match nul et un match perdu. J’ai même lu qu’il pouvait y avoir des matchs perdus par pénalité ! En cas d’égalité de points des matchs, comment agir, selon le calcul effectué, cela peut influencer grandement le classement final.

En pièce jointe, un classeur avec le traitement de la première partie du projet, c’est-à-dire le traitement des matchs de poules avec un classement à mon idée…

Avant d’aller plus loin, il faudrait que cette étape soit définitivement validée.

Dans la feuille "ACCUEIL" les inscriptions, le bouton de tirage des poules et de création des feuilles de poule. Un lien hypertexte permet d’activer la feuille de la poule souhaitée. Un retour vers l’Accueil est présent.

Le mot de passe est *** (Trois étoiles). Pareil pour la protection des feuilles de poules.

A noter que des scores bidon sont présents pour visualiser les classements. Il suffira de les supprimer dans la feuille modèle masquée en fin de projet.

Le tirage des terrains est directement intégré dans les feuilles de poules. Ces feuilles peuvent également faire l’objet d’une impression pour les équipes ?

Des horaires bidon sont également présents dans les feuilles. S’il faut les supprimer, pas de problème.

Après cette étape, il y a le traitement du second tour avec les 16ièmes de finales jusqu’à la finale, j'ai trouvé la feuille présenté dans ton projet pas mal, mais les scores sont sur une seule colonne ce qui n'est pas très bien pour automatiser les reports des noms de case en case au fur et à mesure de l'avancement des matchs, mais c’est un autre étape !

A toi maintenant de bloquer ce qui te semble satisfaisant puis de poursuivre avec notre aide si tu le souhaites...
 

Pièces jointes

  • TournoiBasket86equipesV5.xlsm
    160.7 KB · Affichages: 939
  • TournoiBasket86equipesV5.xlsm
    160.7 KB · Affichages: 903
  • TournoiBasket86equipesV5.xlsm
    160.7 KB · Affichages: 971
Dernière édition:

stef31

XLDnaute Nouveau
Re : réalisation tournoi basket

Bonsoir,

Un grand MERCI à vous tous, vous avez fait de supers boulots, merci d'avoir pris le temps pour moi, je sais vraiment pas comment vous remerciez. Encore un merci à mikeo, piga 25 ( tu as fait un truc de l'espace, appelle Londres pour organiser les Jeux olympiques, ils vont te prendre) et merci à toi Bernard.

Bernard, pour répondre à tes questions, désolé pour tous ces messages n'importe ou, je ne sais pas trop encore utiliser le site, pour ton ébauche, tu as été efficace, j'avais beaucoup d'incertitudes concernant l'organisation des matchs mais tu as su y répondre facilement.

J'avais aussi penser pour les matchs de poules à un bonus pour pas qu'il y est d'égalité par exemple 4 points lors que tu gagne de + 5points et donc j'espère qu'il n'y aura pas d'égalité. mais ce qui tu as réalisé est très bien.

Pour les terrains, j'ai vu qu'il était intégré, mais faire un autre bouton de macro pour tirer les terrains au hasard peut être pertinent, ça permettrait de mieux voir les tirages. Ainsi que pour les horaires, il faudrait faire une macro sur une autre feuille qui calculerait le temps final du tournoi suivant que les temps des matchs ou le nombre de terrains soit variables, mais ce n'est pas grave, ça je le rechercherais.

Pour les phases finales, tu as raison ,je ne sais pas encore, je pense refaire comme dans les phases de poules avec le score à coté, mais ne t'inquiète, je me débrouillerais, tu en as assez fait.

Cordialement
 

CBernardT

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour stef31 et le forum,

Dans le classeur joint :

1- Intégration dans le calcul des points d'un match de la notion de bonus avec 4 points quand le score final d'une équipe est supérieur de 5 à celui de l'équipe adverse.
2- Pour le tableau des terrains des poules, c'est une double inscription simultanée dans le tableau ACCUEIL et dans les feuilles de poule. Cela évite d'avoir un deuxième bouton. A voir si cela convient ?

Par contre je suis largué quand tu dis :

"Pour les horaires, il faudrait faire une macro sur une autre feuille qui calculerait le temps final du tournoi suivant que les temps des matchs ou le nombre de terrains soit variables."

Pour l'étape 2, les phases finales, un point peut être encore facilement réalisé, c'est le transfert des équipes qui la composeront.

A+
 

Pièces jointes

  • TournoiBasket86equipesV5.xlsm
    172 KB · Affichages: 393
  • TournoiBasket86equipesV5.xlsm
    172 KB · Affichages: 386
  • TournoiBasket86equipesV5.xlsm
    172 KB · Affichages: 382

CBernardT

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour stef31 et le forum,

Dans le classeur joint :

Le récapitulatif des matchs et le classement des équipes de chaque poule ont été revus.
La phase finale est opérationnelle.
Pour les poules, les horaires sont à mettre à jour au fur et à mesure de l'achèvement des matchs.

A+
 

Pièces jointes

  • TournoiBasket86equipesV6.xlsm
    187.3 KB · Affichages: 500
Dernière édition:

piga25

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour,
Amitié CBernardT

Je suis de près ce fil car il m'intéresse énormément.



CBernard: Merci pour ce fichier et ces codes.

Je me suis permis de modifier ce fichier afin de le rendre plus polyvalent. C'est à dire avoir la possibilité de choisir entre 2 et 100 (joueurs ouéquipes) cela en fonction du jeu concerné, de choisir le nombre de poules en fonction des terrains disponibles (maxi 20) ce qui peut donner 10 fois 20 = 200(équipes ou joueurs).

Dans la feuille Accueil : modif apportée pour la saisie des différents paramètres.

Dans la feuille Poule M :

Formule du résultat nul changée, ne compte pas le résultat si le match n’est pas joué:
=SI($L6="";"";SI($M6=0;0;SOMMEPROD(($C$6:$C$41=$L6)*($H$6:$H$41=$I$6:$I$41))+SOMMEPROD(($D$6:$D$41=$L6)*($I$6:$I$41=$H$6:$H$41))))
Formule pour le calcul des points changée, permet de choisir la priorité entre l’attaque, la défense et la différence entre l’attaque et la défense et sans tenir compte de la position sur la ligne (ligne()/100) ce qui désavantageait celui qui était sous la ligne du dessous :
=SI($L6="";"";$N6*Gagné+$O6*Nul+$P6*Perdu+$S6*Bonus+($Q6*Attaque)/1000+($R6*Défense)/1000+($T6*Différence)/1000)
Formules du tableau classement changées :
=SI(X6="";"";RANG(Y6;$Y$6:$Y$17;0))
=SI(OU($L6="";SOMME($U$6:$U$17)=0);"";INDEX($L$6:$L$17;EQUIV($Y6;$U$6:$U$17;0)))
=SI($L6="";"";GRANDE.VALEUR($U$6:$U$17;$K6))
Maintenant c’est là que j’ai du mal.

Je n’arrive pas à modifier un de vos codes que vous avez employé pour un fichier nommé Tirage championnat. J’aimerai le modifier de manière à mettre sur la feuille Poule M l’équipe 1 dans la colonne C et l’équipe 2 dans la colonne D.La liste source étant en $L$6 :$L$17. Le bouton de lancement étant sur la feuille de la poule concernée ou autre solution l’inclure en fin de procédure de TiragePoules.
VB:
Option Explicit
Option Base 1
Dim Z As Byte
Dim TabJ As Variant, Tablo As Variant, TabloC As Variant, TabloR As Variant
Sub TirageParties()
Dim NbJ As Byte, i As Integer, j As Integer, k As Integer, Mypos As String
Dim l As Byte, P As Byte, Lig As Integer, N As Byte
Application.ScreenUpdating = False
Z = Range("A65536").End(xlUp).Row
' Effacement des anciennes données
Union(Range("B2:B2000"), Range("C1:C2000"), Range("D1:IV1000")).ClearContents
' Mise en nombre de joueurs pair
If Z Mod 2 = 0 Then
Z = Z + 1
Cells(Z, 1) = "xxxxxxx"
End If
NbJ = Z - 1
' Tirage aléatoire des joueurs
TirageAleatoire
' Affichage de la liste aléatoire
Range(Cells(2, 2), Cells(Z, 2)) = Tablo
' Tableau des binômes de joueurs
ReDim TabloC(1 To (NbJ * (NbJ - 1)), 1)
' Première boucle pour le nombre de parties
For i = 1 To NbJ - 1
  If i = NbJ - 1 Then
  Lig = Lig + 1
  ElseIf i > 1 Then
  Lig = Lig + 2
  End If
' Seconde boucle pour les joueurs
   For j = i + 1 To NbJ
      Lig = Lig + 1
      If j = NbJ And i <> NbJ - 1 Then Lig = Lig + i - 1
      TabloC(Lig, 1) = Tablo(i, 1) & "-" & Tablo(j, 1)
  Next j
Next i
' Mise en tableau du tirage des joueurs
ReDim TabloR(1 To NbJ, 1 To NbJ - 1)
For i = 1 To NbJ
   For l = 1 To NbJ - 1
   k = k + 1
   TabloR(i, l) = TabloC(k, 1)
   Next l
Next i
' Nombre choisi de colonne du tableau résultats
N = NbJ - 1
k = 0
'Mise en place des parties
For P = 1 To N
k = k + 1
Cells(1, P + 3) = "PARTIE " & k
Next P
' Affichage des résultats
For i = 1 To NbJ - 1
k = 2
   For j = 1 To NbJ ' nombre de lignes du tableau résultats
      If TabloR(j, i) <> "" Then
      Cells(k, i + 3) = Left(TabloR(j, i), InStr(1, TabloR(j, i), "-") - 1)
      Mypos = Len(TabloR(j, i)) - InStr(1, TabloR(j, i), "-")
      Cells(k + 1, i + 3) = Right(TabloR(j, i), Mypos)
      k = k + 2
      End If
   Next j
Next i
Application.ScreenUpdating = True
End Sub
Sub TirageAleatoire()
Dim j As Integer, k As Integer, T As Byte, X As Byte
Randomize 'Initialisation du générateur de nombres aléatoires
' Mise en mémoire dans un tableau des noms d'équipes
TabJ = Range("A2:A" & Z)
' Déclaration et définition du tableau de la liste aléatoire
ReDim Tablo(1 To UBound(TabJ), 1 To 2)
' Tirage aléatoire des joueurs et mise en  tableau de la liste aléatoire
For j = 1 To Z - 1
Do
X = 0
   T = Int(((Z - 1) * Rnd) + 1)
   Tablo(j, 1) = TabJ(T, 1) ' Mise en colonne aléatoire
      For k = 1 To j - 1
      If Tablo(j, 1) = Tablo(k, 1) Then
      X = 1
      Exit For
      End If
      Next k
Loop Until X = 0
Next j
End Sub
Sub Doublons()
Dim c As Byte, Z As Byte, i As Byte, j As Byte, k As Byte, l As Byte
' Macro enregistrée le 17/04/06 par Gruick
Range("E1").CurrentRegion.Interior.ColorIndex = xlNone
'repèrage des doublons
c = 33
Z = Range("D65536").End(xlUp).Row
For i = 8 To 20 Step 4 'i sera la colonne testée
    For k = 4 To i - 1 Step 4 'k sera la colonne comparée
        For j = 2 To Z Step 2 'j sera le compteur de ligne de la colonne testée
            For l = 2 To Z Step 2 'l sera le compteur de ligne de la colonne comparée
               Union(Range(Cells(j, i), Cells(j + 1, i)), Range(Cells(l, k), Cells(l + 1, k))).Select
                If (Cells(j, i) = Cells(l, k) And Cells(j + 1, i) = Cells(l + 1, k)) _
                Or (Cells(j, i) = Cells(l + 1, k) And Cells(j + 1, i) = Cells(l, k)) Then
                    Range(Cells(j, i), Cells(j + 1, i)).Interior.ColorIndex = c
                    Range(Cells(l, k), Cells(l + 1, k)).Interior.ColorIndex = c
                    c = c + 1
                End If
            Next l
        Next j
    Next k
Next i
End Sub
 

Pièces jointes

  • Oraganisation tournoi V6.xlsm
    234.9 KB · Affichages: 558
  • Oraganisation tournoi V6.xlsm
    234.9 KB · Affichages: 586
  • Oraganisation tournoi V6.xlsm
    234.9 KB · Affichages: 639

CBernardT

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour piga25 et le forum,

Tout à fait d’accord avec toi, ce fichier peut évoluer vers un modèle capable de prendre en compte les éléments de tournois divers et variés.

Par exemple, pour la définition du nombre de poules et le nombre de joueurs par poules, il est possible de combiner deux critères de base, tels que le nombre total de joueurs(Ou d'équipes) et du nombre de matchs qu'il est possible de jouer. Ce dernier nombre, calculé en fonction des terrains disponibles, de la durée d’un match et du temps disponible pour jouer tous les matchs sur la (ou les) période(s) consacré(es) au tournoi.

Pour la modification de la macro de définition des poules d’un championnat, si j’ai bien compris, tu souhaites placer les matchs des poules tirées, les uns en dessous des autres. C’est possible, cependant je pense qu’il est nécessaire d’ajouter une recherche aléatoire afin que le planning des matchs affiche les mêmes temps de repos entre deux matchs d’une équipe, dans le cas ou tous ses matchs se déroulent sur une période courte.

Voila quelques pistes pour faire progresser la planification automatique des tournois. Sujet qui revient de plus fréquemment sur le forum.

Nous pouvons le faire ensemble et même avec d’autres bonnes volontés, ce forum n’en manque pas !
 

piga25

XLDnaute Barbatruc
Re : réalisation tournoi basket

Bonjour CBernardT et le forum

Par exemple, pour la définition du nombre de poules et le nombre de joueurs par poules, il est possible de combiner deux critères de base, tels que le nombre total de joueurs(Ou d'équipes) et du nombre de matchs qu'il est possible de jouer. Ce dernier nombre, calculé en fonction des terrains disponibles, de la durée d’un match et du temps disponible pour jouer tous les matchs sur la (ou les) période(s) consacré(es) au tournoi.
Oui, faire un peu comme sur la première page. Rentrer les différentes données qui permettront de faire une simulation avant de choisir la bonne solution.

Pour la modification de la macro de définition des poules d’un championnat, si j’ai bien compris, tu souhaites placer les matchs des poules tirées, les uns en dessous des autres. C’est possible, cependant je pense qu’il est nécessaire d’ajouter une recherche aléatoire afin que le planning des matchs affiche les mêmes temps de repos entre deux matchs d’une équipe, dans le cas ou tous ses matchs se déroulent sur une période courte.
En effet c'est comme cela que je le pensais. Par contre l'idée d'inclure une recherche aléatoire pour les temps de repos en vraiement géniale. Par contre là je ne serai pas d'une très grande aide (lacune en VBA) mais j'apprends.

Voila quelques pistes pour faire progresser la planification automatique des tournois. Sujet qui revient de plus fréquemment sur le forum.
C'était un peu le but en prolongeant ce fil. Rendre un fichier polyvalent et très simple d'utilisation qui serait tout aussi bien valable pour de très petits tournois comme pour des grands comme celui de Stef21

Nous pouvons le faire ensemble et même avec d’autres bonnes volontés, ce forum n’en manque pas
Entièrement d'accord et de plus cela me permettra de progesser.
Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 279
Messages
2 086 737
Membres
103 381
dernier inscrit
e.perichon@apco-technolog