Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Générateur de chiffres aléatoires sans doublons

JDL33

XLDnaute Nouveau
Bonjour Jetted !

Bonjour à vous tous !

Je recherche depuis longtemps un générateur de chiffres aléatoires sans doublons pour l’affichage de l’EuroMillions fonctionnant sous Excel Pro 2016 mais avec une condition complémentaire.

  • Que les cinq chiffres s’affichent dans cinq cellules et dans deux cellules pour les deux étoiles (sur une même ligne, horizontalement ou verticalement) aucune importance.
  • Que les cinq chiffres affichés (entre 1 et 50) soient sans doublons.
  • Que les deux chiffres affichés (entre 1 et 12) pour les étoiles soient sans doublons.
  • Que le défilement des chiffres soit visible dans chaque cellule.
  • Ce qui correspond au fonctionnement du logiciel ci-dessous, voir lien.
Générateur de numéros aléatoires de l'EuroMillions (euro-millions.com)

  • Voici la condition complémentaire
  • Affichage dans une cellule d’un minuteur (00 h 00 mn 00 s) qui doit arrêter l’affichage suivant la durée indiquée.
  • Dans une cellule, un bouton de commande pour lancer le générateur de chiffres aléatoires.
  • Que la fonction « Randomize » soit effectuée à chaque lancement du générateur de N° aléatoires.
La fréquence d’affichage des chiffres après un timing personnalisé est pour moi très importante.

Merci beaucoup à vous tous pour votre aide

Cordialement
 
Solution
Bonjour JDL, Dranreb,
Un essai en PJ pour le fun.

Bonjour Sylvanu,

Merci beaucoup pour votre excellent travail, car c’est parfaitement ce que je désire.

Je ne voudrais pas abuser, le minuteur c’est parfait, mais dans la configuration du programme j’ai oublié de préciser si c’est possible :

  • De voir défiler les chiffres dans toutes les cellules jusqu’à l’affichage correspondant à la durée du timing indiqué au minuteur (cellule I1 et J1)
  • Que l’affichage s’effectue chiffre après chiffre en tenant compte du timing indiqué au minuteur.
  • Que si le chiffre qui doit s’afficher est un doublon, lui seulement doit subir un reset avec la durée du timing indiqué au minuteur et surtout pas les autres.
Excusez-moi d’avoir...

patricktoulon

XLDnaute Barbatruc
re
et pour le coup là l'effet rouleau est plus vrai que nature
qu'est ce que l'on se marre ici purée
VB:
Private Sub CommandButton1_Click()
    Dim T#, F, C&, Tlaps#, a&, VaL
    Randomize
    Set F = ActiveSheet
    Tlaps = 0.3
    VaL = Array(xlBottom, xlCenter, xlTop)
    F.Cells(2, 1).Resize(, 7).ClearContents
    For C = 1 To 7
        T = Timer + Tlaps
        Do
            DoEvents
            F.Cells(2, C).Resize(, 7 - (C - 1)) = Round(1 + (Rnd * 49))
            For a = 0 To 3: DoEvents: F.Cells(2, C).Resize(, 7 - (C - 1)).VerticalAlignment = VaL(IIf(a = 3, 0, a)): Next
            F.Cells(2, C) = Round(1 + (Rnd * 49))
            If Timer > T Then
                If C = 1 And Timer + Tlaps > T Then F.Cells(2, C).VerticalAlignment = xlCenter: Exit Do
                If C > 1 Then
                    If WorksheetFunction.CountIf(F.Range(F.Cells(2, 1), F.Cells(2, C)), F.Cells(2, C)) > 1 Then
                        T = Timer + Tlaps
                    Else
                        F.Cells(2, C).VerticalAlignment = xlCenter: Exit Do
                    End If
                End If
            End If
        Loop
    Next
End Sub
 

JDL33

XLDnaute Nouveau
Bonsoir tout le monde.
Quitte à s'amuser, on peut continuer, ça détend.
L'avantage de la pièce jointe est que je peux vous assurer que la combinaison qu'il délivre sortira un jour.
Bonsoir Sylvanu

Bravo et merci, ça correspond parfaitement à ma demande.

Suivant les réglages du minuteur, je rencontre un beugue, est-ce possible de mettre un bouton « Quitter » pour sortir de cette boucle infinie.

Merci

Cordialement
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Quelqu'un peut-il m'expliquer à quoi ça sert cette notion de temps ou durée pour le tirage d'une seule combinaison au bout du bout ? On peut s'arrêter à la première combinaison trouvée puisque c'est une combinaison de nombres aléatoires, non ?
(tout comme sera la dernière...)
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Quelqu'un peut-il m'expliquer à quoi ça sert cette notion de temps
Absolument à rien. Pourquoi donc voulez vous que cela serve à quelque chose ?
Sauf si à tirer N fois un nombre aléatoire, ce nombre serait encore plus aléatoire que le premier.
Suivant les réglages du minuteur
Vous pouvez me donner les dits réglages ? car je ne vois pas dans le code la configuration qui donnerait une boucle infinie.
 

JDL33

XLDnaute Nouveau
Excusez-moi pour le retard !

A vrai dire, j’ai recherché si le programme pouvait beuguer en faisant des réglages en dehors des limites d’utilisation.

Temps de calcul : 10000 ms

Temps entre deux calculs : 1 ms

Je n’ai pas eu d’affichage et le programme tourne sans fin, dans cette condition j’ai pensé qu’il serait utile d’avoir un bouton de sortie pour éviter (Ctrl+Alt+Supp).

Merci

Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour tout le monde,
Une V5 en PJ.
Evidemment avec 10s et 1ms !
Comme le temps court est là pour un aspect purement visuel, sous 10ms cela ne plus rien dire, c'est en dessous la période de rafraichissement de l'écran.
Dans cette nouvelle mouture :
1- En cas de souci, on sort par appui sur Echap.
2- Le temps court est bridé à 10ms min.
3- Un historique a été rajouté.
On va considérer que c'est la dernière mouture. Vous avez tout le code nécessaire pour bidouiller comme bon vous semble.
 

Pièces jointes

  • Loto V5.xlsm
    22.3 KB · Affichages: 6

Discussions similaires

Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…