[COLOR="DarkSlateGray"][B]Function redistribue(r As Range)
Dim i&, di&, im&, j&, dj&, jm&, x, oDat
Application.Volatile
oDat = r.Value
im = UBound(oDat, 1): jm = UBound(oDat, 2)
For i = 1 To im
For j = 1 To jm
di = 1 + Int(Rnd * im): dj = 1 + Int(Rnd * jm)
x = oDat(i, j): oDat(i, j) = oDat(di, dj): oDat(di, dj) = x
Next
Next
redistribue = oDat
End Function[/B][/COLOR]