bonjour,
une proposition
Sub aargh()
'position de départ
For i = 0 To 8
For j = 0 To 8
Cells(i + 1, j + 1) = ((i + j) Mod 9) + 1
Next j
Next i
'mélange aléatoire
Randomize Timer
For i = 1 To 20
q1 = aleatoire(1, 9)
q2 = aleatoire(1, 9)
If Rnd() > 0.5 Then
a = Cells(1, q1).Resize(9, 1).Value
Cells(1, q1).Resize(9, 1).Value = Cells(1, q2).Resize(9, 1).Value
Cells(1, q2).Resize(9, 1).Value = a
Else
a = Cells(q1, 1).Resize(1, 9).Value
Cells(q1, 1).Resize(1, 9).Value = Cells(q2, 1).Resize(1, 9).Value
Cells(q2, 1).Resize(1, 9).Value = a
End If
Next i
End Sub
Function aleatoire(borne_inférieure, borne_supérieure)
aleatoire = Int(Rnd() * (borne_supérieure - borne_inférieure + 1)) + borne_inférieure
End Function