Option Explicit
Private LAt As New ListeAléat, P As Long
Sub Jeu_Ordi()
Randomize
LAt.Init 52
Range("B5:C10").ClearContents
P = 0
Application.OnTime Now + TimeSerial(0, 0, 3), "TirerUneCarte"
End Sub
Sub TirerUneCarte()
Dim Carte As Long
P = P + 1: Carte = LAt.Aléat(P)
Cells(4 + P, 2).Value = Carte
Cells(4 + P, 3) = NomCarte(Carte)
If P < 6 Then Application.OnTime Now + TimeSerial(0, 0, 2), "TirerUneCarte"
End Sub
Function NomCarte(ByVal N As Long) As String
NomCarte = Choose((N - 1) Mod 13 + 1, "as", "deux", "trois", "quatre", "cinq", _
"six", "sept", "huit", "neuf", "dix", "valet", "dame", "roi") & " de " & _
Choose((N - 1) \ 13 + 1, "cœur", "carreau", "pique", "trèfle")
End Function