Sub Alea50()
Dim n As Byte, c As New Collection, al As Byte, i As Byte
n = 10 ' quantité de nombres aléatoires désirés
If n > 50 Then MsgBox "Impossibilité": Exit Sub
On Error Resume Next
While c.Count < n
al = Int(1 + 50 * Rnd)
c.Add al, CStr(al)
Wend
For i = 1 To n
Range("A" & i) = c(i)
Next
End Sub