Sub Main()
Dim LAt As New ListeAléat, T(), A&, L&, C&, P&
T = Cells(2, 2).Resize(50, 35).Value
Randomize
LAt.Init 1726
For L = 1 To 50: For C = 1 To 35
If T(L, C) <> 0 Then P = P + 1: A = LAt.Aléat(P) Else A = 0
If A = 0 Then T(L, C) = Empty Else T(L, C) = A
Next C, L
Cells(2, 2).Resize(50, 35).Value = T
End Sub