Tirage aleatoire

Résolu
tarzom Messages postés 12 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 22 octobre 2004 - 20 oct. 2004 à 20:54
tarzom Messages postés 12 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 22 octobre 2004 - 20 oct. 2004 à 22:25
bonsoir,

voila quelqu'un pourais optimiser mon code pour qu'au lieu qu'il me mettent les nombres un en dessous de l'autre qu'il m'en mttent deux sur la meme ligne avec un tres d'union entre les deux

Dim ListeNombre() As Integer
Dim Nombre As Integer
Dim Texte As String
Dim i As Integer
Dim x As Integer
Dim Continue As Boolean

'Vide le champ de texte
Text1.Text = vbNullString

'Initialise la fonction Rnd
Randomize

'Dimentionne le Tableau
ReDim ListeNombre(0)

'Insert un nombre 0 pour la premiere instance
ListeNombre(0) = 0

For i = 1 To Text2.Text

Continue = False

Do While Continue = False
DoEvents
'Genere un nombre aleatoire entre 1 et text1.text
Nombre = Int((Rnd * Text2.Text) + 1)

'Met la valeur de sorti de boucle sur True
Continue = True
'Verifie si il n'y a pas de double
For x = LBound(ListeNombre) To UBound(ListeNombre)
If ListeNombre(x) = Nombre Then
'Si le nombre existe deja on met sur False
Continue = False
End If
Next x
Loop

'Converti le nombre en STRING et l'affecte a la variable TEXTE
Texte = CStr(Nombre)

'Redimentionne le Tableau en preservant les valeurs
ReDim Preserve ListeNombre(i)
'Insert le nouveau nombre
ListeNombre(i) = Nombre

'On rempli le champs list
List1.AddItem (Text1.Text & Texte)

Next i

comme il est la il me met les nombres de cette facon
1
2
3
4
et moi je voudrais qu'il me les affiches comme sa :
1-2
3-2

merci de votre aide

2 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 oct. 2004 à 21:17
Dim ListeNombre() As Integer
Dim Nombre As Integer
Dim Texte As String
Dim i As Integer
Dim x As Integer
Dim Continue As Boolean

'Vide le champ de texte
Text1.Text = vbNullString

'Initialise la fonction Rnd
Randomize

'Dimentionne le Tableau
ReDim ListeNombre(0)

'Insert un nombre 0 pour la premiere instance
ListeNombre(0) = 0

For i = 1 To Text2.Text

Continue = False

Do While Continue = False
   DoEvents
   'Genere un nombre aleatoire entre 1 et text1.text
   Nombre = Int((Rnd * Text2.Text) + 1)
   'Met la valeur de sorti de boucle sur True
    Continue = True
   'Verifie si il n'y a pas de double
   For x = LBound(ListeNombre) To UBound(ListeNombre)
       If ListeNombre(x) = Nombre Then
      'Si le nombre existe deja on met sur False
       Continue = False
       End If
       Next x
   Loop

'Redimentionne le Tableau en preservant les valeurs
ReDim Preserve ListeNombre(i)
'Insert le nouveau nombre
ListeNombre(i) = Nombre

'On rempli le champs list
If i Mod 2 = 1 Then
   Texte = CStr(Nombre)
   Else
   List1.AddItem (Text1.Text & Texte & " - " & CStr(Nombre))
   End If
   
Next i

End Sub
3
tarzom Messages postés 12 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 22 octobre 2004
20 oct. 2004 à 22:25
merci
0
Rejoignez-nous