XL 2016 [Résolu] Une roulette de nombres

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bearn 64

XLDnaute Occasionnel
Bonjour le Forum,

Je bute sur la vitesse d'affichage des nombres.
j'aurai aimé avoir un tirage aléatoire d'un nombre de 1 à 100, et ceux pour 8 fois, sans avoir de doublons.

Dans le fichier joint les nombres défilent mais pas assez vite au départ.
L'effet rechercher serait de faire défiler les nombres rapidement plusieurs fois puis de ralentir progressivement jusqu’à l’arrêt sur un nombre.

A l'appui sur le bouton start on relance mais le nombre précédemment sorti ne doit plus être gagnant.

Merci de vos conseils.
 

Pièces jointes

Hello,
la col 1 est col A donc dans ce "lancer" le 1er tirage commence en A3 ensuite A4 jusqu'en A10 soit 8 tirages.
Bruno
VB:
Sub lancer()
Randomize
bas = [A1000].End(3).Row
If bas < 2 Then bas = 2
If bas > 10 Then [A3:A11].ClearContents: bas = 3
Do
n = Int((99 * Rnd) + 1) 'choix chiffre de 1 à 99
For lig = 3 To bas
If Cells(lig, 3) = n Then deja = True
Next
If deja = True Then
deja = False
Else
Exit Do
End If
Loop
Cells(bas + 1, 1) = n
fin = n + 99
For i = n To fin 'n + 99
If i Mod 5 = 0 Then attente = attente + 0.014
If i > fin - 2 Then attente = 0.6
deb = Timer
Do While Timer < deb + attente
DoEvents
Loop
nb = i
If nb > 99 Then nb = nb - 99
[F6] = nb - 1
[F7] = nb
[F8] = nb + 1
Next
End Sub
 
Oups!
j'ai laissé 3 au lieu de 2 à la 5ème ligne
VB:
Sub lancer()
Randomize
bas = [A1000].End(3).Row
If bas < 2 Then bas = 2
If bas > 10 Then [A3:A11].ClearContents: bas = 2
Do
n = Int((99 * Rnd) + 1) 'choix chiffre de 1 à 99
For lig = 3 To bas
If Cells(lig, 3) = n Then deja = True
Next
If deja = True Then
deja = False
Else
Exit Do
End If
Loop
Cells(bas + 1, 1) = n
fin = n + 99
For i = n To fin 'n + 99
If i Mod 5 = 0 Then attente = attente + 0.014
If i > fin - 2 Then attente = 0.6
deb = Timer
Do While Timer < deb + attente
DoEvents
Loop
nb = i
If nb > 99 Then nb = nb - 99
[F6] = nb - 1
[F7] = nb
[F8] = nb + 1
Next
End Sub
 
Bonjour youky(BJ),

Ma demande est de pouvoir faire un loto, donc 99 numéros possibles.
Visualisation du tirage OK.
Le résultat du tirage dans la grille du Userform1 à droite.
La feuille sera cachée par le Userform1.

La grille a droite dans le Userform1 permettant le contrôle des numéros sortis.

Merci
 
Re,
Le tirage fait de 1 à 99 donc jamais le 100 qui apparaît dans la roue,
bon! c'est possible de passer de 99 à 1.... fait dans ce fichier
Après 8 tirages la macro efface d'elle même les chiffres en col C pour repartir à zéro.
Si tu mets un bouton le code sera
[C1:C10].clearcontents 'efface
la macro le fait déjà
Bruno
 

Pièces jointes

Bonsour®
Re,
Le tirage fait de 1 à 99 donc jamais le 100 qui apparaît dans la roue,
bon! c'est possible de passer de 99 à 1.... fait dans ce fichier

sauf erreur le loto (ou QUINE) se fait sur 90 N°
pour le fun , voir pièce jointe :

upload_2018-2-25_16-11-25.png

upload_2018-2-25_16-10-27.png
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour