bonsoir,
Le résultat de mes cogitations :
Option Base 1
Sub Adapt2()
Dim Arr(6, 2), i%, j%, x%
For i = 1 To 6
Arr(i, 1) = i
Arr(i, 2) = Cells((20 + (i - 1) * 2), 52).Address
Next
Randomize
For i = 6 To 1 Step -1
x = Int(((i) * Rnd) + 1)
j = Arr(x, 1)
Arr(x, 1) = Arr(i, 1)
Arr(i, 1) = j
Next
Application.ScreenUpdating = False
For i = 1 To 6
Range(Arr(i, 2)).Copy Cells((20 + (Arr(i, 1) - 1) * 2), 6)
Next
End Sub
A+
Attention ! la première ligne (Option base 1) doit être la première ligne du module. Si d'autres marcros existent déja, il faut donc insérer ce code avant toute les autres macros de ce module.
Il est aussi possible de créer un nouveau module rien que pour cette macro. Comme ça tu n'as pas de souçis à te faire...
A+