Bonjour forum,
Je suis en train de me faire un petit fichier pour gérer des tournois à la ronde que je veux faire chez nous. Je bloque présentement pour faire mon horaire par vba. Présentement, je suis capable de faire mon tableau de classement, de déterminer le nb de match à jouer et de déterminer quels sont les matchs à jouer. Par contre, je ne sais pas comment faire un horaire qui a du sens, c'est-à-dire que chaque joueur a des périodes d'attente semblables et ne joue pas tous ses matchs de suite.
Voici mon code:
Sub Tournoialaronde()
Dim Nbjoueurs, Partie, Nbmatch, a, c, i As Integer
Dim VotreNom, Joueur(15) As String
''NETTOYAGE DE LA FEUILLE
Sheets('Tournoi à la ronde').Activate
Cells.Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
Range('B5').Value = 'Nom des joueurs'
''DÉTERMINATION DU NOMBRE DE JOUEURS ET MISE EN PAGE DU TABLEAU PRINCIPAL
Partie = InputBox('Combien de points par partie?')
Nbjoueurs = InputBox(' Combien de joueurs (équipes) participent au tournoi?')
For i = 1 To Nbjoueurs
Range('B50').Select
Selection.End(xlUp).Offset(1, 0).Select
Joueur(i) = InputBox(' Quel est le nom du ' & i & 'e joueur (équipe)?')
ActiveCell.Value = Joueur(i)
ActiveCell.Offset(-i, i).Value = Joueur(i)
Selection.Offset(0, i).Select
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Next i
''DÉTERMINATION DE L'HORAIRE
c = 0
For i = 1 To Nbjoueurs
c = c + i - 1
Next i
Nbmatch = c
a = 30
For i = 1 To Nbmatch
Cells(a, 1) = 'Match ' & i
a = a + 1
Next i
a = 30
For i = 1 To Nbjoueurs - 1
For j = i + 1 To Nbjoueurs
Cells(a, 2).Value = Joueur(i)
Cells(a, 3).Value = 'vs'
Cells(a, 4).Value = Joueur(j)
a = a + 1
Next j
Next i
End sub
Bref, je voudrais faire un code pour déterminer un horaire qui a de l'allure.
Merci de votre aide.
Gringo
Je suis en train de me faire un petit fichier pour gérer des tournois à la ronde que je veux faire chez nous. Je bloque présentement pour faire mon horaire par vba. Présentement, je suis capable de faire mon tableau de classement, de déterminer le nb de match à jouer et de déterminer quels sont les matchs à jouer. Par contre, je ne sais pas comment faire un horaire qui a du sens, c'est-à-dire que chaque joueur a des périodes d'attente semblables et ne joue pas tous ses matchs de suite.
Voici mon code:
Sub Tournoialaronde()
Dim Nbjoueurs, Partie, Nbmatch, a, c, i As Integer
Dim VotreNom, Joueur(15) As String
''NETTOYAGE DE LA FEUILLE
Sheets('Tournoi à la ronde').Activate
Cells.Select
Selection.ClearContents
Selection.Interior.ColorIndex = xlNone
Range('B5').Value = 'Nom des joueurs'
''DÉTERMINATION DU NOMBRE DE JOUEURS ET MISE EN PAGE DU TABLEAU PRINCIPAL
Partie = InputBox('Combien de points par partie?')
Nbjoueurs = InputBox(' Combien de joueurs (équipes) participent au tournoi?')
For i = 1 To Nbjoueurs
Range('B50').Select
Selection.End(xlUp).Offset(1, 0).Select
Joueur(i) = InputBox(' Quel est le nom du ' & i & 'e joueur (équipe)?')
ActiveCell.Value = Joueur(i)
ActiveCell.Offset(-i, i).Value = Joueur(i)
Selection.Offset(0, i).Select
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Next i
''DÉTERMINATION DE L'HORAIRE
c = 0
For i = 1 To Nbjoueurs
c = c + i - 1
Next i
Nbmatch = c
a = 30
For i = 1 To Nbmatch
Cells(a, 1) = 'Match ' & i
a = a + 1
Next i
a = 30
For i = 1 To Nbjoueurs - 1
For j = i + 1 To Nbjoueurs
Cells(a, 2).Value = Joueur(i)
Cells(a, 3).Value = 'vs'
Cells(a, 4).Value = Joueur(j)
a = a + 1
Next j
Next i
End sub
Bref, je voudrais faire un code pour déterminer un horaire qui a de l'allure.
Merci de votre aide.
Gringo