Sub tirage()
Dim t(0 To 1), tres, i&, j&, k&, n&, aux
t(0) = Range("tLot"): t(1) = Range("tTick")
If Range("tTirage").Rows.Count = UBound(t(0)) Then
If MsgBox("Un tirage semble déjà avoir été fait !" & vbLf & vbLf & _
"Attention ! Le précédent tirage sera définitivement perdu. " & vbLf & vbLf & _
"Voulez vraiment procéder à un nouveau tirage ?", vbQuestion + vbYesNo + vbDefaultButton2) <> vbYes Then Exit Sub
End If
Randomize
For i = 1 To UBound(t(1))
n = 1 + Int(Rnd * UBound(t(1)))
For j = 1 To UBound(t(1), 2): aux = t(1)(i, j): t(1)(i, j) = t(1)(n, j): t(1)(n, j) = aux: Next
Next i
ReDim res(1 To UBound(t(0)), 1 To 4)
For i = 1 To UBound(res): res(i, 1) = t(0)(i, 1): res(i, 2) = t(0)(i, 2): res(i, 3) = t(1)(i, 1): res(i, 4) = t(1)(i, 2): Next
Range("tTirage").Clear: Range("tTirage").Resize(UBound(t(0)), 4) = res
End Sub