Tirage(aléatoire sans répétition)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 15 465 fois - Téléchargée 68 fois

Contenu du snippet

Définir Top au début du programme.

ON peut aussi utiliser le inputmsgbox !

(le tirage s'effectue sans répétition des nombres)

Source / Exemple :


Public Sub tirage()
Top = 29
Dim i As Integer
Dim sortie
Dim flag() As Integer
ReDim flag(Top)
For i = 1 To Top
        flag(i) = 1
        Next i
 
For i = 1 To Top

 sortie = Int(Rnd() * Top) + 1
                    If flag(sortie) = 1 Then
                            flag(sortie) = 0
                     
                    Else
                    While flag(sortie) = 0
                    sortie = Int(Rnd() * Top) + 1
                    Wend
                             flag(sortie) = 0
                    End If
 
Worksheets("feuil1").Cells(i, 1).Value = sortie
Next i

End Sub

Conclusion :


Le tirage se fait et s'inscrit dans une feuille excel..Colonne 1 ..en fonction du nombre de chiffres demandés...La particularité du programme c'est qu'il s'assure que les chiffres ne sont pas répétés ..!

A voir également

Ajouter un commentaire

Commentaires

bonjour
ce code genere toujours la meme serie
un msgbox("términé") après le
next i sera meilleur
sympa. tu combles une grosse lacune de vb
Pas mal mais il existe des formules de math toutes betes qui font pareil avec des périodes énormes et qui ne donnent pas 2 fois la meme liste. Je ferai suivre ca un jour, je connais pas par coeur ! :)
sireerik
Messages postés
22
Date d'inscription
lundi 13 janvier 2003
Statut
Membre
Dernière intervention
12 novembre 2005
-
salut.
je suis nouveau sur VB, alor je ne sais pas dans quoi je mais le prog.
je doit le metre dans un Form ou bien????
sa à l'air stupide mais je viens juste de commencer (5 jours).
merci d'avance pour la reponce. (je veux créé un programe de rune)
Nivek821
Messages postés
20
Date d'inscription
lundi 25 juin 2012
Statut
Membre
Dernière intervention
5 mars 2013
-
Je sais que sa fait 9 ans que tu as posé cette question mais je vais comme même y réponde.

Il faut le mettre dans un Form et si par exemple tu veux l'assigner à un bouton alors dans ton Form tu fais double cliques sur ce bouton, tu auras alors un truc du style :

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

End Sub

Et tu vas donc écrire ce qu'il y à marqué après "Public Sub" c'est à dire "tirage" comme ceci:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
tirage() 'il met les parenthèses automatiquement.
End Sub
Commenter la réponse de Bidouille

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.