Bonjour,
voici une proposition, j'ai compris qu'il fallait générer toutes les rencontres de chaque équipe et attribuer un des 3 terrains à chacune de ces rencontres, ce qui est différent de la création des toutes les équipes de 2 joueurs sur base d'une liste de joueurs.
Sub aargh()
Dim eq(), n()
With Worksheets("EQUIPES")
ne = .Cells(Rows.Count, 1).End(xlUp).Row
ReDim eq(ne + 1)
ReDim n(ne + 1)
For i = 1 To ne - 9
eq(i) = i
n(i) = .Cells(i + 9, 1)
Next i
If (ne - 9) Mod 2 = 1 Then
eq(i) = i
n(i) = "bye"
End If
End With
ne = i
With Sheets("distribution équipes")
nl = .Cells(Rows.Count, 3).End(xlUp).Row
.Range("C3:F" & nl).ClearContents
k = 2
For j = 1 To ne - 1
For i = 1 To ne / 2
If n(eq(i)) <> "bye" And n(eq(i + (ne / 2))) <> "bye" Then
k = k + 1
If (k Mod 3) = 0 And k > 5 Then
.Range("A3:A5").Copy .Range("A" & k)
.Range("B" & k & ":F" & k + 2).ClearContents
.Range("B3:F5").Copy .Range("B" & k)
.Range("C" & k & ":F" & k + 2).ClearContents
.Cells(k, 1) = .Cells(k - 3, 1) + 1
End If
.Cells(k, 3) = n(eq(i))
.Cells(k, 6) = n(eq(i + (ne / 2)))
End If
Next i
a = eq(2)
For i = 2 To (ne / 2) - 1
eq(i) = eq(i + 1)
Next i
eq(ne / 2) = eq(ne)
For i = ne To (ne / 2) + 2 Step -1
eq(i) = eq(i - 1)
Next i
eq(ne / 2 + 1) = a
Next j
End With
End Sub