hela_bouks
Messages postés18Date d'inscriptionvendredi 24 février 2006StatutMembreDernière intervention 2 janvier 2008
-
31 déc. 2007 à 09:53
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
31 déc. 2007 à 11:19
Bonjour,
J'ai 3 produits 1,2,3
Je voudrai les choisir au hasard pour pouvoir les traiter, par exple: 2,3,1 ou 3,1,2 ou 1,3,2 ... quand j'utilise Randomize Timer, je peux avoir par exemple deux fois le 2 ou le 3 qui se repetent, or ce que je veux c'est que je reçois chaque chiffre une fois.
Comment faire?
Merci pour votre aide!!!!
cs_Megafan
Messages postés389Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention23 septembre 20162 31 déc. 2007 à 10:12
Salut,
Je pense que ce probléme va interresser beaucoup de monde, car c'est sympa de voir les nombreuses manières dont on peut régler ça.
pour moi à l'arrache,
- tu cree une chaine avec "123"
- sur une boucle de 1 à longueur de la chaine
- tu prends un nombre 'p' au hasard entre 1 et la longueur de la chaine et tu extrait le caractere à la position p
(donc si tu m'as suivi le carcatere à la position p est 1 ,2 ou 3)
- tu enleves le caractére de la position p
- et tu boucles.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 31 déc. 2007 à 10:39
Tu peux aussi utiliser un tableau contenant des 0, disons.
Chaque fois que tu "piges" un numéro, tu mets l'index correspondant du tableau à 1.
Tu sauras donc quels numéros sont déjà pigés.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 31 déc. 2007 à 11:19
Un petit exercice que j'ai fait hier pour quelqu'un devrait t'intéresser, je pense :
sur une forme : un bouton de commande Command1
code
Private Sub Form_Activate()
Randomize Timer
End Sub
Private Sub Command1_Click()
Dim monarray, i As Integer, ou As Integer, temp As String, nb As Integer
monarray = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14")
nb = UBound(monarray)
For i = 0 To nb \ 2
ou = Int(((nb - i) * Rnd))
temp = monarray(ou)
monarray(ou) = monarray(nb - i)
monarray(nb - i) = temp
Next
End Sub