Option Explicit
Public Tirage() As Long ' Il s'agit d'un tableau en base 1
' à 3 dimensions: Tour, Ligne, Colonne dans le tour.
Function TirageOK(ByVal NbJInscr As Long, ByVal NbTours As Long, _
ByVal NbJEq As Long, Optional ByVal Clubs, Optional ByVal Margs) As Boolean
Rem. Lance la procédure de tirage appropriée. Paramètres à spécifier :
' NbJInscr: Nombre de joueurs inscrits. Doit être pair.
' NbTours: Nombre de tours prévus.
' NbjEq: Nombre de joueurs par équipe. 1 à 3.
' Clubs: Plage ou tableau 2D d'une colonne (1 to NbJInscr, 1 to 1) indiquant le club d'appartenance
' de chaque joueur. Deux joueurs d'un même club spécifié (non vide) ne seront jamais adversaires.
' Attention: s'il n'y a que 2 clubs les participants doivent être en nombre égal dans chacun
' sauf s'il y a aussi suffisament de participants n'appartenant à aucun club.
' Margs: Plage ou tableau 2D d'une colonne (1 to NbJInscr, 1 to 1) indiquant un caractère marginal
' de certains joueurs tel que "Cadet" par exemple. Pour une question d'homogénéité des équipes,
' deux joueurs d'un même marginalité spécifiée ne seront jamais partenaires, et seuls ceux
' qui n'en ont pas pourront participer à un match en effectif réduit.
' Produit le tableau Tirage dimensionné aux maxis suivants :
' Indice 1: NbTours tours,
' Indice 2: Partie entière( (NbJInscr - 2) / (2 * NbJEq) ) + 1 lignes,
' Indice 3: 2 * NbJEq colonnes dans le tour.
' Retourne une condition de bonne exécution garantissant que le tableau Tirage à bien été garni.