Si tu fais ça c'est ok ?
ws.Cells(j, 3 + ((i - 1) Mod 4)).Value
Sachant que t'auras deux cases vides forcément sur ta plage mais les équipes seront équilibrées
J'ai essayé de rajouter les deux joueurs manquants mais j'ai ça
Je deviens fou
@+
Edit j'ai trouvé, c'était lié au décalage d'index avec le tableau donc au lieu de faire i Mod 4 on fait (i - 1) Mod 4 et pour le (i+1) Mod 4 on fait i Mod 4
Sub MelangerEtRepartir()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long, j As Long
Dim noms() As Variant
Dim temp As Variant
Dim randomIndex As Long
Set ws = ThisWorkbook.Sheets("Tournoi") ' Remplacez par le nom de votre feuille
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
noms = ws.Range("A2:A" & lastRow).Value ' Récupérer les noms dans un tableau
' Mélanger les noms
For i = UBound(noms, 1) To LBound(noms, 1) Step -1
randomIndex = Application.WorksheetFunction.RandBetween(LBound(noms, 1), i)
temp = noms(i, 1)
noms(i, 1) = noms(randomIndex, 1)
noms(randomIndex, 1) = temp
Next i
' Répartir les noms en groupes de 4 dans les colonnes C, D, E, F à partir de la ligne 2
j = 2 ' Commencer à la ligne 2
For i = LBound(noms, 1) To UBound(noms, 1)
ws.Cells(j, 3 + ((i - 1) Mod 4)).Value = noms(i, 1) ' Ajuster l'index
If (i Mod 4 = 0) Then j = j + 1 ' Passer à la ligne suivante après 4 joueurs
Next i
End Sub