Besoin d'aide pour un mode aléatoire

Résolu
cs_maxwells Messages postés 31 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 9 novembre 2008 - 11 mai 2005 à 09:21
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 - 11 mai 2005 à 17:08
Bonjour à tous,
j'aurais besoin d'aide

J'explique :
j'ai une liste de 80 mots numérotés de 1 à 80 et je voudrais les faire apparaître dans contrôle textbox pendant un certain nombre de temps mais dans un ordre aléatoire.
J'ai essayer avec la fonction Rnd(number) mais il ne fait que donner un nombre suivant aléatoire. Ce qui fait qui si le nombre 78 est tiré en premier, il ne peut y avoir que deux autres mot qui défile. Ce que je voudrais c'est que le prog m'affiche tous les mots dans un ordre aléatoire.
Autre chose encore : je voudrais que l'ordre aléatoire ne soit pas le même à chaque fois que je relance la série d'affichage des mots.

Merci pour votre aide
je n'est peut-être pas été très clair; mais c'est le mieux que j'ai pu faire.

[mailto:M@xwells M@xwells] M@ni@c
La vie est injuste et il nous faut l'accepter comme elle nous vient.
A voir également:

6 réponses

cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
11 mai 2005 à 09:31
Bonjour,

Pour tirer un nombre aléatoire entre 1 et 80, tu peux utiliser ceci :

nombre = Cint(80 * Rnd) + 1
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 mai 2005 à 09:42
petite précision pour que tu n'obtiennes pas toujours les mêmes nombres :


Randomize Timer

nombre = Cint(80 * Rnd) + 1






Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
3
cs_maxwells Messages postés 31 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 9 novembre 2008
11 mai 2005 à 09:41
ouai d'accord merci mais tu pourrais expliquer
ça veut dire quoi Cint(80 * Rnd) + 1
int c'est peut integer

[mailto:M@xwells M@xwells] M@ni@c
La vie est injuste et il nous faut l'accepter comme elle nous vient.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 mai 2005 à 09:43
Cint() transforme une expression en nombre entier.

Ici, la fonction Int() aurait suffit.


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0

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

Posez votre question
cs_maxwells Messages postés 31 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 9 novembre 2008
11 mai 2005 à 09:52
merci à tous mais a fait quoi concrétement Randomize Timer

[mailto:M@xwells M@xwells] M@ni@c
La vie est injuste et il nous faut l'accepter comme elle nous vient.
0
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
11 mai 2005 à 17:08
Bonjour,
Voilà une 'tite macro VBA qui fait un tirage unique (façon loto)
C'est du VBA, mais il ne doit pas y avoir un gros effort à faire pour l'adapter.

Sub Tirage()
Dim i%, j%, k%, x%, Tablo()
k = 80
ReDim Tablo(k)
Randomize
For i = 0 To k - 1
Tablo(i) = i + 1
Next
For i = 0 To k - 1
j = Int(((k - i) * Rnd) + 1)
x = Tablo(k - 1 - i)
Tablo(k - 1 - i) = Tablo(j - 1)
Tablo(j - 1) = x
Next
For i = 0 To k - 1
MsgBox Tablo(i)
Next
End Sub
0
Rejoignez-nous