patricktoulon
XLDnaute Barbatruc
Bonsoir à tous
c'est juste pour le fun
perso pour créer une liste de nombres aléatoires je préfère mélanger une liste ordonné(dans l'ordre au départ)
on a la garantie de non doublons et c'est largement plus rapide
sauf que là l'exercice est encore plus intéressant
je demarre avec une liste (un array vide(sans valeur)
alors pour faire de 1 à max ca va ,mais pour faire de min à max ca devient compliqué avec cette méthode tout du moins sans transformé un code très simple à la base en en centrale nucléaire
voici la méthode avec un array vide sans doublons et de 1 à max
c'est juste pour le fun
perso pour créer une liste de nombres aléatoires je préfère mélanger une liste ordonné(dans l'ordre au départ)
on a la garantie de non doublons et c'est largement plus rapide
sauf que là l'exercice est encore plus intéressant
je demarre avec une liste (un array vide(sans valeur)
alors pour faire de 1 à max ca va ,mais pour faire de min à max ca devient compliqué avec cette méthode tout du moins sans transformé un code très simple à la base en en centrale nucléaire
voici la méthode avec un array vide sans doublons et de 1 à max
VB:
Function randomListNumber(maxi)
Dim i&, X&, temp
Randomize
ReDim t(1 To maxi)
For i = 1 To maxi
If t(i) = "" Then t(i) = i
temp = t(i)
X = 1 + Int((Rnd * (maxi - 1)))
If t(X) = "" Then t(X) = X
t(i) = t(X)
t(X) = temp
Next
randomListNumber = t
End Function
Sub test()
MsgBox Join(randomListNumber(30), vbCrLf)
End Sub