Cédule

Bonjours j'aimerai programmé excel pour faire une cédule de rencontre de billard a 18 joueur pour jouer avec chaque jouer différent a chaque semaine il y a 9 équipe de 2 joueur mais je n'y arrive pas cela se fait t'il de programmé excel pour qu'il programme seul des chiffre différent aléatoire sans revenir au même bien sur il va falloir recommencer 18 jouer donc 17 rencontre différente je crois voici un exemple de la cédule

Merci

Bonjour Masterly,

« cédule » ? c'est aussi un terme de billard ? si oui, mon dico l'indique pas :

screen

j'sais qu'c'est pas « cédille »

dhany

Bonjour à toi,

Je ne saisi pas très bien le principe (et en plus je n'y connais pas grand chose en billard), si je comprends bien :

181009095153843852

Donc chaque joueur de chaque équipe jouera seul contre un autre joueur ? Jouera-t-il contre le joueur de sa propre équipe ? Une fois que j'aurai ces informations je ferais mon possible pour t'aider.

Cordialement,

Bonjour Chbouli04

Chaque équipe rencontre les huit autre équipe ex 1et 2 rencontre 3 et 4, 5 et 6, 7 et 8, jusqu'a avoir rencontré toute les équipes

chaque semaine les équipes change ex. 1 est avec 3 après 1 et 4 , 1 et 5 mais chaque équipe doit être forme d'un joueur différent a chaque semaine comme il y a 18 joueur la cédule devrais duré 17 semaine je crois il devrais y avoir 9 équipe différente a chaque semaine

est-ce plus clair chaque joueur devra faire équipe avec les 17 autre joueur.

si tu a des question je vais y répondre

Merci

Bonjour,

Voilà un essai pour la constitution des équipes et leur répartition par journée. Pour 18 joueurs répartis en équipe de 2, il y aura 9 équipes par journée. Et il faut 17 journées pour que chacun ait pu jouer en équipe avec un joueur différent à chaque fois.

Ce programme fait la répartition par journée sur le nombre de journées nécessaires pour que chaque jouer ait fait équipe avec tous les autres.

'Eq: n° d'ordre répartition (joueur associé au pivot), N: nb de joueurs
'P: dernier joueur si N pair, nul si N impair
Function Equ2Jour(ByVal Eq As Integer, N As Integer)
    Dim equ(), J1%, J2%, P%, m%, j%
    If N Mod 2 = 0 Then
        P = N: m = N - 1: j = N / 2 - 1
    Else
        m = N: j = (N - 1) / 2
    End If
    If Eq < 1 Or Eq > m Then
        MsgBox "Numéro de répartition non valide !", vbCritical, "Erreur"
        Equ2Jour = Array("0 - 0"): Exit Function
    End If
    ReDim equ(j): equ(0) = Eq & " - " & P
    For j = 1 To UBound(equ)
        J1 = IIf(Eq + j > m, (Eq + j) Mod m, Eq + j)
        J2 = IIf(Eq - j < 1, Eq - j + m, Eq - j)
        equ(j) = IIf(J1 < J2, J1 & " - " & J2, J2 & " - " & J1)
    Next j
    equ = TirMélange(equ)
    Equ2Jour = equ
End Function

Function TirMélange(Tbl())
    Dim k, x%, i%, m%
    m = UBound(Tbl) - LBound(Tbl) + 1
    Randomize
    For i = LBound(Tbl) To UBound(Tbl)
        k = Tbl(i)
        x = Int(m * Rnd + LBound(Tbl))
        Tbl(i) = Tbl(x): Tbl(x) = k
    Next i
    TirMélange = Tbl
End Function

'N: Nb de joueurs à répartir en équipes de 2
'CelDest: cellule supérieure gauche de la plage de destination
' si omise, la répartition sera affectée à une nouvelle feuille
Sub TirageEqu2(N As Integer, Optional CelDest As Range)
    Dim TEq(), i%, m%
    i = N + (N Mod 2 = 0): ReDim TEq(i - 1): m = (i + 1) / 2
    For i = 0 To UBound(TEq)
        TEq(i) = i + 1
    Next i
    TEq = TirMélange(TEq)
    For i = 0 To UBound(TEq)
        TEq(i) = Equ2Jour(TEq(i), N)
    Next i
    If Not CelDest Is Nothing Then
        CelDest.Resize(UBound(TEq) + 1, m).Value = WorksheetFunction.Transpose( _
         WorksheetFunction.Transpose(TEq))
    Else
        With Worksheets.Add(after:=ActiveSheet).Range("B2").Resize(UBound(TEq) + 1, m)
            .Value = WorksheetFunction.Transpose(WorksheetFunction.Transpose(TEq))
            .Borders.Weight = xlThin
        End With
    End If
End Sub

Sub Répartition()
    TirageEqu2 18, ActiveSheet.Range("B2")
End Sub

Le bouton mis sur la feuille lance la procédure Répartition, qui lance la procédure principale TirageEqu2 en lui fournissant le nombre de joueurs et l'emplacement du tableau résultat.

Ce dispositif est destiné à pouvoir faire varier le nombre de joueurs à répartir en équipe de 2.

La proc.utilise deux fonctions pour opérer la répartition :

  • Equ2Jour qui applique un algorithme destiné à ne pas avoir de répétition d'équipe au cours d'un nombre de journées prévues selon le nombre de joueurs pour composer les équipes d'une journée, à partir d'un numéro d'ordre et du nombre de joueurs,
  • TirMélange qui mélange aléatoirement les éléments d'un tableau qui lui est transmis, elle est utilisée par la fonction précédente pour ordonner aléatoirement les équipes d'une journée, et par la procédure principale pour ordonner aléatoirement les compositions de chaque journée.

Cordialement.

wow

Merci MFerrand je suis très impressionner quel travail Merci beaucoup

Ça m'a permis de réviser le problème... En théorie, il y a toujours au moins une solution...

Il peut y en avoir plus, voire beaucoup plus, mais le calcul dépasse un peu mon niveau mathématiques, des révisions n'y suffiraient pas et je laisse ça pour plus tard... En outre, ces calculs peuvent prendre beaucoup de temps et pourraient rapidement être inutilisables pratiquement sur des machines individuelles...

J'ai donc suivi la méthode empirique, qui conduit à une solution pour un appariement d'éléments 2 par 2 en les appariant tous mais qu'une seule fois sur un nombre donné de tours.

Note que si sur chaque journée tu dois faire rencontrer par chaque équipe toutes les autres équipes, c'est le même problème que pour la constitution des équipes.

Tu as 9 équipes, il te faudra 9 tours de rencontres pour les faire se rencontrer toutes, leur nombre étant impair. A chaque tour, tu auras 4 rencontres, et une équipe qui attendra le tour suivant en l'absence d'adversaire chacune passant une fois par ce stade au cours de la journée.

Cordialement.

Merci encore

Et si je reviens a 16 joueur donc 8 équipe c'est tu compliqué

Tu remplaces 18 par 16 pour le lancement...

Pour mettre le résultat sur le même tableau, efface préalablement le précédent, je n'ai pas prévu d'effacement.

Je le rajouterai... Depuis le fichier envoyé, j'ai complété la mise en forme pour l'option résultat sur une nouvelle feuille (centrage, ligne et colonne d'en-tête).

Je comptais aussi sortir le tableau de rencontre par journée, mais comme tu n'as pas prévu d'emplacement et de type de présentation, j'hésitais sur les options à prendre : tableau générique (reprenant les numéros d'équipes) pour toutes les journées, ou par journée, ou tableau reprenant les équipes telles que définies dans le tableau précédent.

en faite je transcris ensuite les résultat de la cédule sur la feuille de pointage pour que les équipe marque leur point

feuille jointe

Rechercher des sujets similaires à "cedule"