Bonjour,
Un peu plus élaboré à tester:
Sub Mélanger()
Dim codes(), chc$, chc0$, n%, i%, x%
n = ActiveSheet.Range("A1").End(xlDown).Row
For i = 1 To n
chc0 = chc0 & ChrW(i + 32)
Next i
Randomize
For i = 1 To n
x = Int(Len(chc0) * Rnd) + 1
chc = chc & Mid(chc0, x, 1)
chc0 = Replace(chc0, Mid(chc0, x, 1), "")
Next i
ReDim codes(1 To n, 1 To 1)
For i = 1 To n
x = Int(Len(chc) * Rnd) + 1
codes(i, 1) = AscW(Mid(chc, x, 1)) - 32
chc = Replace(chc, Mid(chc, x, 1), "")
Next i
With ActiveSheet
For i = 1 To n
codes(i, 1) = .Cells(codes(i, 1), 1)
Next i
.Range("A1:A" & n).Value = codes
End With
End Sub
Double mélange, avec une méthode Galopin... Salut à lui !
Cordialement.