Nombres aleatoires ET differents

Philibert - 15 juil. 2000 à 21:46
 ghis - 5 oct. 2001 à 21:59
bonjour, j'ai :
Do
iNbE1 = Cint(rnd*(x))
iNbE2 = Cint(rnd*(x))
iNbE3 = Cint(rnd*(x))
iNbE4 = Cint(rnd*(x))
iNbE5 = Cint(rnd*(x))
iNbE6 = Cint(rnd*(x))
Loop
mais je veux que les iNbE1,2,3,4,5 soient TOUS differents

6 réponses

-------------------------------
Réponse au message :
-------------------------------

bonjour, j'ai :
Do
iNbE1 = Cint(rnd*(x))
iNbE2 = Cint(rnd*(x))
iNbE3 = Cint(rnd*(x))
iNbE4 = Cint(rnd*(x))
iNbE5 = Cint(rnd*(x))
iNbE6 = Cint(rnd*(x))
Loop
mais je veux que les iNbE1,2,3,4,5 soient TOUS differents
-------------------------------

QUE NENI, QUEL HORREUR quelle complication
Essayez plutöt:

'dans un module
Function GetChiffre()

Randomize timer 'ca, c'est pour que ce soit pas tout le temps le même
GetChiffre = Int(Rnd * 100) 'chiffre tiré entre 0 & 100
End Function

'dans la feuille
Private sub bouton1_click()
Variable1=GetChiffre
'getchiffre vaut un nombre au hasard

La réponse était dans vbfrance rubrique JEUX

Et voila
MAGIDEV
0
-------------------------------
Réponse au message :
-------------------------------

oui merci

-------------------------------
Réponse au message :
-------------------------------

bonjour, j'ai :
Do
iNbE1 = Cint(rnd*(x))
iNbE2 = Cint(rnd*(x))
iNbE3 = Cint(rnd*(x))
iNbE4 = Cint(rnd*(x))
iNbE5 = Cint(rnd*(x))
iNbE6 = Cint(rnd*(x))
Loop
mais je veux que les iNbE1,2,3,4,5 soient TOUS differents
-------------------------------

QUE NENI, QUEL HORREUR quelle complication
Essayez plutöt:

'dans un module
Function GetChiffre()

Randomize timer 'ca, c'est pour que ce soit pas tout le temps le même
GetChiffre = Int(Rnd * 100) 'chiffre tiré entre 0 & 100
End Function

'dans la feuille
Private sub bouton1_click()
Variable1=GetChiffre
'getchiffre vaut un nombre au hasard

La réponse était dans vbfrance rubrique JEUX

Et voila
MAGIDEV
-------------------------------
0
Bonjour,
Même comme cela ton résultat dépendra de l´heure du jour car randomize sur base sur le temps de a machine.
J´ai pêché et testé une modification:
Randomize Int(CDbl((Now)) + Timer
De cette façon, la semence change chaque fois et la probabilité d´avoir deux fois le même nombre est minimale...
Cette procédure est meilleur (du point de vue distribution statistique) mais prend plus de temps.
A +
Marc
0
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci
0
-------------------------------
Réponse au message : nombre

Private Sub Command1_Click()
Dim hasard 'hasard est une variable tu peux mettre ce que tu veux

Randomize
hasard = Int((Rnd * 49) + 1)'49 est aussi une variables
Label1 = hasard
hasard = Int((Rnd * 49) + 1)' +1 permet de ne pas obtenir 0
Label2 = hasard
hasard = Int((Rnd * 49) + 1)
Label3 = hasard
hasard = Int((Rnd * 49) + 1)
Label4 = hasard
hasard = Int((Rnd * 49) + 1)
Label5 = hasard
hasard = Int((Rnd * 49) + 1)
Label6 = hasard
hasard = Int((Rnd * 49) + 1)
Label7 = hasard

End Sub
et voilà il est simple et fonctionne
-------------------------------
0
Rejoignez-nous