Sub Aleatoire()
Dim plage As Range, cel As Range, alea As Double
Dim num_ligne As Integer
Dim cel_fin As String
nb_equipes = [Feuil1!A1]
num_ligne = 12
cel_deb = "D2"
cel_fin = "E" & num_ligne
Set plage = Range(cel_deb & ":" & cel_fin) 'modifiable
Range(cel_deb & ":E1000").ClearContents
plage.Value = ""
If plage.Count > nb_equipes Then Exit Sub
Randomize
For Each cel In plage
1 alea = WorksheetFunction.RandBetween(1, nb_equipes)
If Application.CountIf(plage, alea) Then GoTo 1 Else cel = alea
Next
End Sub