Nombre aléatoire

Résolu
kakahouette Messages postés 3 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 4 juin 2011 - 31 mai 2011 à 14:43
kakahouette Messages postés 3 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 4 juin 2011 - 31 mai 2011 à 15:03
Bonjour à tous,

je souhaiterai afficher dans une textbox un nombre aléatoire mais pas si aléatoire que ça.
J'utilise visual studio 2008.
Ce nombre doit être 1,2,3,4,5,6,7,8,9,25,50,75 ou 100.
J'ai cherché sur google mais je n'ai pas trouvé grand chose à part mettre ces chiffres dans un tableau et ensuite faire un Rnd sur ce tableau. Mais cela ne fonctionne pas.

voici le code:
Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tableau(14)
Dim i As Integer
Dim valeur, valeur2 As Integer ' valeur3, valeur4
For i = 0 To 8
tableau(i) = i + 1
Next i
tableau(9) = 25
tableau(10) = 50
tableau(11) = 75
tableau(12) = 100


'Button1.Visible = False
Randomize()
valeur = Int(Rnd() * 899) + 100
TextBox1.Text = valeur
Randomize(tableau(i))
valeur2 = Int( Rnd() * tableau(i))
TextBox2.Text = valeur2

'valeur3 = CInt(Rnd() * 9 + 1) Or Rnd(25) Or Rnd(50)
'TextBox4.Text = valeur3
'valeur4 = CInt(Rnd(25) Or Rnd(50))
'TextBox5.Text = valeur4

End Sub

End Class


Merci d'avance pour votre aide

3 réponses

4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
31 mai 2011 à 14:52
Pour commencer ton tableau de (14) va de la case 0 à la case 13 et tu ne mets des valeur que de la case 0 à la case 12 donc la case 13 et vide ce qui va te donner des erreur.

Je pense que toute la partie

'Button1.Visible = False
Randomize()
valeur = Int(Rnd() * 899) + 100
TextBox1.Text = valeur
Randomize(tableau(i))
valeur2 = Int( Rnd() * tableau(i))
TextBox2.Text = valeur2

'valeur3 = CInt(Rnd() * 9 + 1) Or Rnd(25) Or Rnd(50)
'TextBox4.Text = valeur3
'valeur4 = CInt(Rnd(25) Or Rnd(50))
'TextBox5.Text = valeur4

est à supprimer.

Il faut que tu fasse un randome de 0 à 13 comme le case de ton tableau. Ansi tu auras un code du style

i = random (De 0 à 13)

Msgbox "La valeur aléatoire vaut " & tableau(i)
3
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
31 mai 2011 à 14:51
Salut,

je pense que l'idée c'est de tiré un chiffre au hasard, compris entre 0 et 12, puis de s'en servir d'index pour atteindre la valeur associée dans le tableau.
Un truc du genre :
Dim idx As Integer
Randomize() 
idx = Int(tableau.Length * Rnd())
TextBoxV.Text = tableau(idx)
0
kakahouette Messages postés 3 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 4 juin 2011
31 mai 2011 à 15:03
Merci beaucoup voila le code et ça fonctionne.

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tableau(12)
Dim i As Integer
Dim valeur As Integer


For i = 0 To 8
tableau(i) = i + 1
Next i
tableau(9) = 25
tableau(10) = 50
tableau(11) = 75
tableau(12) = 100



End Sub

End Class
0
Rejoignez-nous