Microsoft 365 créer des séquences aléatoires avec possibilités de choix, perdu et nouveau dans excel

ricky1977

XLDnaute Occasionnel
Super ça marche.
Très bonne journée à vous merci encore
(Remarque je suis en train de me poser une question)
Pensez-vous que cela serait possible de faire un quizz aléatoire mais de tous les sujets du genre super quizz qui donnerait une main et un sujet au hasard ?
 

Dranreb

XLDnaute Barbatruc
Ce n'est pas très compliqué :
VB:
Private Sub CBnAléa_Click()
   Randomize
   CBxFamille.ListIndex = Int(Rnd * CBxFamille.ListCount)
   CBxThèmPrnc.List = TValThème(CBxFamille.Text, "LST", True)
   CBxThèmPrnc.ListIndex = Int(Rnd * CBxThèmPrnc.ListCount)
   End Sub
 

ricky1977

XLDnaute Occasionnel
je vous remercie, après le quizz, je n'ai pas passé beaucoup de temps sous excel, je n'étais déjà pas très aguerri , imaginez après quelques mois.
j'ai réussi a créer une liste déroulante à la combobox, j'ai fait un copié collé de ce code ( merci )
maintenant je ne vois pas comment organiser, je dois créer d'autres listes dans thème ?
 

ricky1977

XLDnaute Occasionnel
le fameux bouton, il est dans la combobox ou a part ?

j'ai fait ceci, je pense avoir bien copié, mais cela n'a pas l'air de fonctionner
 

Fichiers joints

Dernière édition:

ricky1977

XLDnaute Occasionnel
c'est bon, j'ai réussi, j'ai compris, j'avais fait des doublons :)

Je me demandais si il était possible de lui attribuer un bouton en particulier ?
ce que je fais normalement est d'utiliser la touche entrée pour passer à la main suivante, cela ne fonctionne plus ?
Ce que je voulais dire, j'utilise les raccourcis claviers pour éviter de clicker car cela me permet d'accélérer, en utilisant notamment les flèches de directions pour choisir plus rapidement,

PS : je me demandais si il était possible de faire la même chose mais de le limiter a seulement une famille ( par exemple BB ) ?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
C'est un CommandButton qui devait s'appeler CBnAléa.
Mais il doit avoir sa propriété TakeFocusOnClic à False, sans cela il essaye de sortir de la CBxFamille, ce qui est interdit tant qu'elle n'est pas renseignée.
 

ricky1977

XLDnaute Occasionnel
ok merci infiniment cela fonctionne, j'utilise la touche tab pour passer sur draw et je peux utiliser à nouveau les raccourcis claviers.
(je me demandais si il était possible de lui attribuer une touche tout de même ? )
Je me posais une autre question, si il était possible de limiter a une famille en particulier au lieu d'avoir un aléa de toutes les familles ?

( je viens de trouver un bug, parfois il me dit que toutes les mains ont été proposé alors qu'il n'en a tiré aucune)

PS : finalement, cela ne fonctionne pas
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Vous pouvez lui attribuer un raccourci avec Alt (propriété Accelerator)
À vous de voir comment demander de ne pas changer la famille mais seulement la suite.
Ça a l'air d'aller mieux en terminant la CBnAlea_Click par un CBxThemPrnc.SetFocus afin que la CBxThemPrnc_Exit soit exécutée après, quand on en sortira …
 

ricky1977

XLDnaute Occasionnel
j'ai bien trouvé Alt (propriété Accelerator) je lui ai attribué une touche, mais cela ne fonctionne néanmoins pas.
j'ai terminé la séquence avec CBxThemPrnc.SetFocus
en revanche je séche pour le reste, je verrais demain, je vous souhaite une bonne nuit et encore merci de votre aide
 

Dranreb

XLDnaute Barbatruc
Chez moi j'ai déjà essayé, ça marche. En spécifiant x minuscule comme Accelerator par exemple, à l’exécution Alt+X actionne bien le contrôle. Je suppose que si on met X il faudrait Alt+Maj+X, mais je n'ai jamais essayé.
 
Dernière édition:

ricky1977

XLDnaute Occasionnel
les raccourcis fonctionnent, je n'avais pas compris que ALT était la touche ALT, je pensais que c'était un terme pour nommer là où je devais rajouter le raccourcis dans Accelerator.
En revanche, je ne sais pas trop comment faire la même chose en ne choissisant qu'une famille
peut-être il faudrait que je rajoute d'autres boutons ?
 

Dranreb

XLDnaute Barbatruc
Peut être. À moins qu'il soit suffisant à ce que vous souhaitez de tester si la CBxFamille n'est pas déjà MatchFound. Il suffirait après tout de l'effacer avant d'utiliser le bouton pour en changer … ou pas.
 

Dranreb

XLDnaute Barbatruc
C'est la propriété la ComboBox. C'est directement une condition utilisable dans un If. Pas besoin d'opérateur relationnel pour en fabriquer une expression Boolean puisque c'en est déjà une.
If Not CBxFamille.MatchFound Then
 

ricky1977

XLDnaute Occasionnel
Alors là je ne vois pas du tout, n'oubliez pas mes faibles voir inexistantes notions d'excel .
j'ai essayé de copier coller If Not CBxFamille.MatchFound Then
je pense que c'est ce que je fois faire, mais j'ai des bugs
 

Dranreb

XLDnaute Barbatruc
Il faut un End If après la dernière instruction à ne plus exécuter dans ce cas, évidemment, c'est à dire avant d'attaquer ensuite le tirage aléatoire du thème seulement.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas