Re
En sortant la constante et en utilisant ReDim
Option Explicit
Sub Distribuer()
Dim Temp As Integer, Existe As Boolean
Dim I As Integer, J As Integer, n As Integer
n = [Donne]
Dim RDest As Range
ActiveSheet.Range("C1:IV1").ClearContents
ReDim Tableau(n)
Set RDest = ActiveSheet.Range("C1:IV1")
Application.ScreenUpdating = False
Randomize
For I = 1 To n
Existe = True
While Existe
Temp = Int(n * Rnd + 1)
For J = 1 To n
If Temp = Tableau(J) Then
Existe = True
Exit For
Else
Existe = False
End If
Next J
Wend
Tableau(I) = Temp
Next I
For I = 1 To n
RDest(I).Value = Tableau(I)
Next I
Application.ScreenUpdating = True
End Sub
Amicalement
Nad