Nombre aléatoire dans une liste

Bonjour, j'aimerai pour me créer un bot dans un jeu faire une petite macro

Je m'explique le jeu contient 10 cartes de valeur (2,2,2,3,3,3,6,8,9,10)

Le premier résultat devrait me sortir une de ces 10 cartes (ex : 10)

Le deuxième résultat devrait me sortir l'une des 9 autres valeurs restantes et ainsi de suite pour les 10 tirages.

Merci de votre aide

bonjour,

une manière de faire

Sub aargh()
    a = Array(2, 2, 2, 3, 3, 3, 6, 8, 9, 10)
    For i = 0 To 9
        q = Application.RandBetween(0, 9 - i)
        MsgBox a(q)
        a(q) = a(9 - i)
    Next i
End Sub

J'adore ce forum... merci beaucoup. C'est exactement cela.

Si j'osais ?

peut on inclure une boucle supplémentaire pour refuser un résultat, ex : il me sort le 10, mais je n'en veux pas pour divers raison, relancer un tirage sans qu'il me supprime le 10 qui devra de toute façon sortir à un moment donner.

re-bonjour,

voici

Sub aargh()
    a = Array(2, 2, 2, 3, 3, 3, 6, 8, 9, 10)
    i = 9
    While i >= 0
        q = Application.RandBetween(0, i)
        r = MsgBox(" nombre tiré = " & a(q) & ", accepter ?", vbYesNo, "tirage : " & 10 - i)
        If r = vbYes Then
            a(q) = a(i)
            i = i - 1
        End If
    Wend
End Sub

Extra merci

Rechercher des sujets similaires à "nombre aleatoire liste"