nacimem
Nouveau membre
Bonsoir à tous, voila je suis actuelement en 1er année de bts informatique de gestion et je programme actuellement en vba, je dois effectuer un programme me permettant de généré un pavé numérique avec des boutons au valeurs de 0 à 9 et cela dans un ordre aléatoires.
J'ai réussi à le faire cependant mon prof n'accepte pas ma méthode pretextant qu'elle est beaucoup trop longue et que si je devais utilisé plus de neuf bouton je devrais faire trop de teste, voici ma méthode:
Randomize
boutonrnd0 = Int((Rnd * 10))
boutonrnd1 = Int((Rnd * 10))
boutonrnd2 = Int((Rnd * 10))
boutonrnd3 = Int((Rnd * 10))
boutonrnd4 = Int((Rnd * 10))
boutonrnd5 = Int((Rnd * 10))
boutonrnd6 = Int((Rnd * 10))
boutonrnd7 = Int((Rnd * 10))
boutonrnd8 = Int((Rnd * 10))
boutonrnd9 = Int((Rnd * 10))
While boutonrnd0 = boutonrnd1 Or boutonrnd0 = boutonrnd2 Or boutonrnd0 = boutonrnd3 Or boutonrnd0 = boutonrnd4 Or boutonrnd0 = boutonrnd5 Or boutonrnd0 = boutonrnd6 Or boutonrnd0 = boutonrnd7 Or boutonrnd0 = boutonrnd8 Or boutonrnd0 = boutonrnd9
boutonrnd0 = Int((Rnd * 10))
Wend
While boutonrnd1 = boutonrnd0 Or boutonrnd1 = boutonrnd2 Or boutonrnd1 = boutonrnd3 Or boutonrnd1 = boutonrnd4 Or boutonrnd1 = boutonrnd5 Or boutonrnd1 = boutonrnd6 Or boutonrnd1 = boutonrnd7 Or boutonrnd1 = boutonrnd8 Or boutonrnd1 = boutonrnd9
boutonrnd1 = Int((Rnd * 10))
Wend
While boutonrnd2 = boutonrnd0 Or boutonrnd2 = boutonrnd1 Or boutonrnd2 = boutonrnd3 Or boutonrnd2 = boutonrnd4 Or boutonrnd2 = boutonrnd5 Or boutonrnd2 = boutonrnd6 Or boutonrnd2 = boutonrnd7 Or boutonrnd2 = boutonrnd8 Or boutonrnd2 = boutonrnd9
boutonrnd2 = Int((Rnd * 10))
Wend
While boutonrnd3 = boutonrnd0 Or boutonrnd3 = boutonrnd1 Or boutonrnd3 = boutonrnd2 Or boutonrnd3 = boutonrnd4 Or boutonrnd3 = boutonrnd5 Or boutonrnd3 = boutonrnd6 Or boutonrnd3 = boutonrnd7 Or boutonrnd3 = boutonrnd8 Or boutonrnd3 = boutonrnd9
boutonrnd3 = Int((Rnd * 10))
Wend
While boutonrnd4 = boutonrnd0 Or boutonrnd4 = boutonrnd1 Or boutonrnd4 = boutonrnd2 Or boutonrnd4 = boutonrnd3 Or boutonrnd4 = boutonrnd5 Or boutonrnd4 = boutonrnd6 Or boutonrnd4 = boutonrnd7 Or boutonrnd4 = boutonrnd8 Or boutonrnd4 = boutonrnd9
boutonrnd4 = Int((Rnd * 10))
Wend
While boutonrnd5 = boutonrnd0 Or boutonrnd5 = boutonrnd1 Or boutonrnd5 = boutonrnd2 Or boutonrnd5 = boutonrnd3 Or boutonrnd5 = boutonrnd4 Or boutonrnd5 = boutonrnd6 Or boutonrnd5 = boutonrnd7 Or boutonrnd5 = boutonrnd8 Or boutonrnd5 = boutonrnd9
boutonrnd5 = Int((Rnd * 10))
Wend
While boutonrnd6 = boutonrnd0 Or boutonrnd6 = boutonrnd1 Or boutonrnd6 = boutonrnd2 Or boutonrnd6 = boutonrnd3 Or boutonrnd6 = boutonrnd4 Or boutonrnd6 = boutonrnd5 Or boutonrnd6 = boutonrnd7 Or boutonrnd6 = boutonrnd8 Or boutonrnd6 = boutonrnd9
boutonrnd6 = Int((Rnd * 10))
Wend
While boutonrnd7 = boutonrnd0 Or boutonrnd7 = boutonrnd1 Or boutonrnd7 = boutonrnd2 Or boutonrnd7 = boutonrnd3 Or boutonrnd7 = boutonrnd4 Or boutonrnd7 = boutonrnd5 Or boutonrnd7 = boutonrnd6 Or boutonrnd7 = boutonrnd8 Or boutonrnd7 = boutonrnd9
boutonrnd7 = Int((Rnd * 10))
Wend
While boutonrnd8 = boutonrnd0 Or boutonrnd8 = boutonrnd1 Or boutonrnd8 = boutonrnd2 Or boutonrnd8 = boutonrnd3 Or boutonrnd8 = boutonrnd4 Or boutonrnd8 = boutonrnd5 Or boutonrnd8 = boutonrnd6 Or boutonrnd8 = boutonrnd7 Or boutonrnd8 = boutonrnd9
boutonrnd8 = Int((Rnd * 10))
Wend
While boutonrnd9 = boutonrnd0 Or boutonrnd9 = boutonrnd1 Or boutonrnd9 = boutonrnd2 Or boutonrnd9 = boutonrnd3 Or boutonrnd9 = boutonrnd4 Or boutonrnd9 = boutonrnd5 Or boutonrnd9 = boutonrnd6 Or boutonrnd9 = boutonrnd7 Or boutonrnd9 = boutonrnd8
boutonrnd9 = Int((Rnd * 10))
Wend
Bouton0.Caption = boutonrnd0
Bouton1.Caption = boutonrnd1
Bouton2.Caption = boutonrnd2
Bouton3.Caption = boutonrnd3
Bouton4.Caption = boutonrnd4
Bouton5.Caption = boutonrnd5
Bouton6.Caption = boutonrnd6
Bouton7.Caption = boutonrnd7
Bouton8.Caption = boutonrnd8
Bouton9.Caption = boutonrnd9
Voila le problème c'est donc que je fais 10 boucles pour être sur qu'il n'y aura pas de doublons dans mes boutons et c'est cela que mon professeur n'aime pas, pensez vous qu'il y'aurai une autre solution que ce que j'ais fait?
Merci pour votre aide et bonne soiré à tous.
J'ai réussi à le faire cependant mon prof n'accepte pas ma méthode pretextant qu'elle est beaucoup trop longue et que si je devais utilisé plus de neuf bouton je devrais faire trop de teste, voici ma méthode:
Randomize
boutonrnd0 = Int((Rnd * 10))
boutonrnd1 = Int((Rnd * 10))
boutonrnd2 = Int((Rnd * 10))
boutonrnd3 = Int((Rnd * 10))
boutonrnd4 = Int((Rnd * 10))
boutonrnd5 = Int((Rnd * 10))
boutonrnd6 = Int((Rnd * 10))
boutonrnd7 = Int((Rnd * 10))
boutonrnd8 = Int((Rnd * 10))
boutonrnd9 = Int((Rnd * 10))
While boutonrnd0 = boutonrnd1 Or boutonrnd0 = boutonrnd2 Or boutonrnd0 = boutonrnd3 Or boutonrnd0 = boutonrnd4 Or boutonrnd0 = boutonrnd5 Or boutonrnd0 = boutonrnd6 Or boutonrnd0 = boutonrnd7 Or boutonrnd0 = boutonrnd8 Or boutonrnd0 = boutonrnd9
boutonrnd0 = Int((Rnd * 10))
Wend
While boutonrnd1 = boutonrnd0 Or boutonrnd1 = boutonrnd2 Or boutonrnd1 = boutonrnd3 Or boutonrnd1 = boutonrnd4 Or boutonrnd1 = boutonrnd5 Or boutonrnd1 = boutonrnd6 Or boutonrnd1 = boutonrnd7 Or boutonrnd1 = boutonrnd8 Or boutonrnd1 = boutonrnd9
boutonrnd1 = Int((Rnd * 10))
Wend
While boutonrnd2 = boutonrnd0 Or boutonrnd2 = boutonrnd1 Or boutonrnd2 = boutonrnd3 Or boutonrnd2 = boutonrnd4 Or boutonrnd2 = boutonrnd5 Or boutonrnd2 = boutonrnd6 Or boutonrnd2 = boutonrnd7 Or boutonrnd2 = boutonrnd8 Or boutonrnd2 = boutonrnd9
boutonrnd2 = Int((Rnd * 10))
Wend
While boutonrnd3 = boutonrnd0 Or boutonrnd3 = boutonrnd1 Or boutonrnd3 = boutonrnd2 Or boutonrnd3 = boutonrnd4 Or boutonrnd3 = boutonrnd5 Or boutonrnd3 = boutonrnd6 Or boutonrnd3 = boutonrnd7 Or boutonrnd3 = boutonrnd8 Or boutonrnd3 = boutonrnd9
boutonrnd3 = Int((Rnd * 10))
Wend
While boutonrnd4 = boutonrnd0 Or boutonrnd4 = boutonrnd1 Or boutonrnd4 = boutonrnd2 Or boutonrnd4 = boutonrnd3 Or boutonrnd4 = boutonrnd5 Or boutonrnd4 = boutonrnd6 Or boutonrnd4 = boutonrnd7 Or boutonrnd4 = boutonrnd8 Or boutonrnd4 = boutonrnd9
boutonrnd4 = Int((Rnd * 10))
Wend
While boutonrnd5 = boutonrnd0 Or boutonrnd5 = boutonrnd1 Or boutonrnd5 = boutonrnd2 Or boutonrnd5 = boutonrnd3 Or boutonrnd5 = boutonrnd4 Or boutonrnd5 = boutonrnd6 Or boutonrnd5 = boutonrnd7 Or boutonrnd5 = boutonrnd8 Or boutonrnd5 = boutonrnd9
boutonrnd5 = Int((Rnd * 10))
Wend
While boutonrnd6 = boutonrnd0 Or boutonrnd6 = boutonrnd1 Or boutonrnd6 = boutonrnd2 Or boutonrnd6 = boutonrnd3 Or boutonrnd6 = boutonrnd4 Or boutonrnd6 = boutonrnd5 Or boutonrnd6 = boutonrnd7 Or boutonrnd6 = boutonrnd8 Or boutonrnd6 = boutonrnd9
boutonrnd6 = Int((Rnd * 10))
Wend
While boutonrnd7 = boutonrnd0 Or boutonrnd7 = boutonrnd1 Or boutonrnd7 = boutonrnd2 Or boutonrnd7 = boutonrnd3 Or boutonrnd7 = boutonrnd4 Or boutonrnd7 = boutonrnd5 Or boutonrnd7 = boutonrnd6 Or boutonrnd7 = boutonrnd8 Or boutonrnd7 = boutonrnd9
boutonrnd7 = Int((Rnd * 10))
Wend
While boutonrnd8 = boutonrnd0 Or boutonrnd8 = boutonrnd1 Or boutonrnd8 = boutonrnd2 Or boutonrnd8 = boutonrnd3 Or boutonrnd8 = boutonrnd4 Or boutonrnd8 = boutonrnd5 Or boutonrnd8 = boutonrnd6 Or boutonrnd8 = boutonrnd7 Or boutonrnd8 = boutonrnd9
boutonrnd8 = Int((Rnd * 10))
Wend
While boutonrnd9 = boutonrnd0 Or boutonrnd9 = boutonrnd1 Or boutonrnd9 = boutonrnd2 Or boutonrnd9 = boutonrnd3 Or boutonrnd9 = boutonrnd4 Or boutonrnd9 = boutonrnd5 Or boutonrnd9 = boutonrnd6 Or boutonrnd9 = boutonrnd7 Or boutonrnd9 = boutonrnd8
boutonrnd9 = Int((Rnd * 10))
Wend
Bouton0.Caption = boutonrnd0
Bouton1.Caption = boutonrnd1
Bouton2.Caption = boutonrnd2
Bouton3.Caption = boutonrnd3
Bouton4.Caption = boutonrnd4
Bouton5.Caption = boutonrnd5
Bouton6.Caption = boutonrnd6
Bouton7.Caption = boutonrnd7
Bouton8.Caption = boutonrnd8
Bouton9.Caption = boutonrnd9
Voila le problème c'est donc que je fais 10 boucles pour être sur qu'il n'y aura pas de doublons dans mes boutons et c'est cela que mon professeur n'aime pas, pensez vous qu'il y'aurai une autre solution que ce que j'ais fait?
Merci pour votre aide et bonne soiré à tous.