Je cherche comment effectué un tirage de nombre aléatoire. J'ai des nombres entre 0 et 20 et je veux faire sortir c'est nombre là aléatoirement afin de faire un échantillonage.
Exemple : 4-10-14-etc.... je veux juste que les nombres situés entre 0 et 20 sortent tous mais dans un ordre de hasard.
Pour générer un nombre réel aléatoire compris entre a et b, utilisez :
=ALEA()*(b-a)+a
La procédure suivante crée une série de nombres entre 1 et 20, de façon aléatoire et sans doublon.
Sub Test()
GenereSerieAleatoireSansDoublons 20, Range("B1")
End Sub
Sub GenereSerieAleatoireSansDoublons(NbValeurs As Integer, Cell As Range)
Dim Tableau() As Integer, TabNumLignes() As Integer
Dim i As Integer, k As Integer
ReDim Tableau(NbValeurs)
ReDim TabNumLignes(NbValeurs)
For i = 1 To NbValeurs
TabNumLignes(i) = i
Tableau(i) = i
Next
'Initialise le générateur de nombres aléatoires
Randomize
For i = NbValeurs To 1 Step -1
k = Int((i * Rnd) + 1)
Cells(Cell.Row + i - 1, Cell.Column) = Tableau(TabNumLignes(k))
TabNumLignes(k) = TabNumLignes(i)
Next
End Sub
C'est pas exactement cela que je cherche, je veux plutôt que les nombres entier entre 0 et 20 sortent tous mais dans un autre ordre que 0,1,2,3,4,5,6 etc et plutôt comme: 5,3,9,14,12,20,0,1 etc...la fonction alea ne me permet pas faire cela,