Hasard entre "" et ""

Signaler
Messages postés
10
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
1 septembre 2002
-
SuperClic
Messages postés
48
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
3 octobre 2002
-
Salut,
j'aimerait savoir comment faire pour avoir un chiffre entre ex.:5 et 7.
je sais que :
-
Randomize
nombre = Int(Rnd * 101)
-
"Int (Rnd * 101)" est le max mais comment faire le min?
À la personnes qui la reponse la plus simple de repondre!

merci d'avance
:) §~*¤o¤*~§3cK0-Fr3d§~*¤o¤*~§ :)

12 réponses

Messages postés
389
Date d'inscription
dimanche 7 avril 2002
Statut
Membre
Dernière intervention
23 septembre 2016
2
La reponse t es donnee dans l'aide de la fonction rnd...

Pour generer des entiers aleatoires dans une plage donnee, utilisez la formule ci-dessous :

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Dans cette formule, upperbound designe la limite superieure de la plage et lowerbound la limite inférieure

donc pour generer des nombres entre 5 et 7

Int((7 - 5 + 1) * Rnd + 5))

soit

int(3*rnd+5)

pas plus complique...
Messages postés
21
Date d'inscription
dimanche 21 juillet 2002
Statut
Membre
Dernière intervention
20 mars 2003

Salut moi je me suis bricoller une petite function que tu met dans un module .
Rien de speciale mai bien pratique :-)
voila le code

Public Function Chiffre_Aleatoire(DeMin As Currency, AMax As Currency) As Currency
Randomize
Chiffre_Aleatoire = Int((AMax * Rnd) + DeMin)
End Function
Messages postés
21
Date d'inscription
dimanche 21 juillet 2002
Statut
Membre
Dernière intervention
20 mars 2003

Salut moi je me suis bricoller une petite function que tu met dans un module .
Rien de speciale mai bien pratique :-)
voila le code

Public Function Chiffre_Aleatoire(DeMin As Currency, AMax As Currency) As Currency
Randomize
Chiffre_Aleatoire = Int((AMax * Rnd) + DeMin)
End Function

panthere noir
Messages postés
68
Date d'inscription
lundi 21 mai 2001
Statut
Membre
Dernière intervention
4 janvier 2003

La je comprend pas ta fonction... si rnd donne 0.9 et demin = 5 et amax = 10.
10*0.9+5=14 !!! donc c'est suppérieur à 10 !

Couriousous
Messages postés
10
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
1 septembre 2002

Merci d'avoir répondu...
finalement g pris la source de Megafan car s'etait la plus petite , la moin compliquer et qui marche a merveille pour ce que j'avais besoin!Mais PANTHERE explique un peu ton code car je suis interresser (surtout après le dernier message de couriousous)!
Et si vous avez d'autre fait interressant sur la hasard ecrivez les ici svp car je fait un prog. basé sur le hasard!

amicalement,
[:-)]§~*¤o¤*~§3cK0-Fr3d§~*¤o¤*~§[:-)]
Messages postés
10
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
1 septembre 2002

Salut c encore moi!
J'aimerait savoir comment faire pour avoir une lettre au hasard ex.: je veut un nom au hasard alors je commande 4 lettres au hasard au progs et il me donne 4 lettres casi toute différente !!!
comment faire????
merci d'avance,
:) §~*¤o¤*~§3cK0-Fr3d§~*¤o¤*~§ :)
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Si tu veux une lettre (Majuscule) au hasard, tu fais :

Chr(Int((90- 65+ 1) * Rnd + 65))

65 est le code ASCII de A et 90 celui de Z
Pour les minuscules, Chr(97) a et Chr(122) z
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Si tu veux une lettre (Majuscule) au hasard, tu fais :

Chr(Int((90- 65+ 1) * Rnd + 65))

65 est le code ASCII de A et 90 celui de Z
Pour les minuscules, Chr(97) a et Chr(122) z
Messages postés
10
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
1 septembre 2002

OUI mes comment lui demander le nombre de lettre que je veut quil me donne
?
:) §~*¤o¤*~§3cK0-Fr3d§~*¤o¤*~§ :)
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Un truc du style :

Dim Nom As String*4
Dim i As Integer
For i = 1 To 4
Mid(Nom, i, 1) = LettreAuHasard
Next i

Function LettreAuHasard () As String
Randomize
LettreAuHasard = Chr(Int((90- 65+ 1) * Rnd + 65))
End Function

et la variable Nom contient les 4 lettres attendues que tu peux afficher dans une TextBox, manipuler, ...
Messages postés
73
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
20 février 2003

Dans la fonction de panthere Demin correspond au nombre minimal possible (ou début de l'intervalle)
et Amax correspond à l'amplitude maximale (ou longueur de l'intervalle).
Donc si Demin=5 et Amax=10 tu choisis des nombres entre 5 et 5+10=15. Donc 14 est un résultat normal !

PS: Lorsque tu utilise Rnd tu obtient toujours la même suite de nombres poour remédier à cela tu peux utiliser Randomize qui initialise la graine du hasard avec une valeur tirée de l'horloge ou tu peut untiliser Rnd(Timer) qui initialise aussi la graine du hasard avec le un nombre tiré de l'horlofe.
Messages postés
48
Date d'inscription
jeudi 8 août 2002
Statut
Membre
Dernière intervention
3 octobre 2002

randomize timer
min=5
max=7

intervalle=max-min '2
NombreHazard=intervalle*rnd
' donne nb entre 0 et 2

VraiNombreHazard=NombreHazard1+min
'donne un nombre entre 5 et 7

Je voix pas plus simple