Regroupement de boutons de commandes

Résolu
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014 - 17 oct. 2014 à 15:02
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 20 oct. 2014 à 20:23
Bonjour,
Pour un jeu du pendu, j'ai créé un clavier sous formes de 26 boutons de commandes.
Bien sûr je pourrais les tester les uns après les autres, mais ce n'est pas très heureux.
Comment pourrais je faire pour savoir quel bouton a été cliqué, par retour de fonction ou de procédure.
Merci à tous.
RV

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 oct. 2014 à 17:05
Bien.
Pense alors s'il te plait à libérer cette discussion (un clic sur le tag RESOLU au niveau de ton tout premier message).

Je ne saurais te conseiller de livre. Je n'ai personnellement jamais utilisé quoi que ce soit d'autre que l'aide VBA.
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 oct. 2014 à 17:04
Bonjour,
La réponse est différente selon que tu développes sous VB.Net, VB6 ou VBA.
Or, tu as ouvert cette discussion dans la section générale de Visual Basic, ce qui ne nous permet pas de savoir sous quoi tu développes ce jeu ...
0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
17 oct. 2014 à 17:19
Bonsoir
Merci pour ton aide.
En fait je suis sous VBA Excel.

Merci

--
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
17 oct. 2014 à 17:22
sujet déplacé en VBA
0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
17 oct. 2014 à 17:28
Désolé, et merci de votre contribution.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 oct. 2014 à 17:30
Comme quoi il est important de choisir le sous-forum adéquat.
Essaye de t'en souvenir, s'il te plait. Cela évitera ces pertes de temps et ces déplacements (ce n'est pas la 1ère fois qu'il nous faut déplacer tes discussions).
Tu trouveras tout ce qu'il te faut dans cette discussion :
http://codes-sources.commentcamarche.net/forum/affich-1528099-evenement-sur-groupe-de-controles
Notamment mon dernier code que j'y propose.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 oct. 2014 à 17:06
Tu t'en sors, après analyse et adaptation ?
Si tu n'y parviens pas, dis-le et je te fait du tout cuit

0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
Modifié par Herve29000 le 18/10/2014 à 19:32
Merci c'est sympa de ta part, non je n'ai pas trouvé de solution pour l'instant. Mon Pb est simple en fait : Dans une frame j'ai 26 boutons de commandes correspondant aux lettres de l'alphabet, certes je pourrais tester chaque bouton, mais c'est lourd, alors je me disais qu'il devait exister une controle intelligent qui test ces click sur ces boutons de commandes. Ces boutons sont notés de A1 à A26

Voila, ce jeu est pour ma fille de 10 ans en fait. Merci à toi


--
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 18/10/2014 à 20:16
Alors, voilà:
Sur ton userform Userform1 : une frame nommé Frame1 tu peux mettre sa propriété Caption sans rien et ne pas lui donner de bordure
Dans ce Frame : mets donc tes commandbuttons. Dans cet exemple, on va en mettre 3, 1er avec Caption = "A", le 2ème = "C", le 3ème = "X"
(tu peux en mettre autant que tu veux
En dehors de ce Frame ! une textbox TextBox1 (qui va nous servir à "constater" le bon déroulement)
Code pour UserForm1 :
ReDim toto(Frame1.Controls.Count) ' As Control
For i = 0 To Frame1.Controls.Count - 1
Set toto(i).ethop = Frame1.Controls(i)
Next

Dans un module :
code :
Public toto() As New Classe1

et dans un, module de classe nommé Classe1 :
Code :
Option Explicit
Public WithEvents ethop As MSForms.CommandButton
Private Sub ethop_click()
UserForm1.TextBox1.SelText = UserForm1.Frame1.ActiveControl.Caption
End Sub

Voilà : lance, clique sur l'une des lettres (tes commandbuttons), puis sur une autre, etc ... et regarde ce qui se passe dans la textbox.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
19 oct. 2014 à 10:31
Merci, je vais essayer, et te tiens au courant.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
19 oct. 2014 à 13:57
Oui, s'il te plait, car "cas d'école" auquel on pourra se référer.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 oct. 2014 à 20:25
Et lorsque tu auras compris le code précédent, essaye celui-ci
(supprime l'évènement click au bénéfice de l'évènement MouseUp :
Private Sub ethop_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift Then
UserForm1.TextBox1.SelText = UserForm1.Frame1.ActiveControl.Caption
Else
UserForm1.TextBox1.SelText = LCase(UserForm1.Frame1.ActiveControl.Caption)
End If
End Sub

et regarde ce qui se passe : si touche majuscule enfoncée ===>> lettre majuscule, sinon : lettre minuscule.
Tu as avec cela tout ce qu'il te faut pour faire un clavier
0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
20 oct. 2014 à 16:58
Bonjour à toi, alors bien sûr ton idée fonctionne parfaitement, maintenant je vais l'incorporer dans mon programme. Si tu le veux je peux te le faire parvenir.
NB Quel livre pourrais tu me conseiller pour avancer dans cette programmation ?
RV
--
0
Herve29000 Messages postés 38 Date d'inscription dimanche 6 juillet 2008 Statut Membre Dernière intervention 20 octobre 2014
20 oct. 2014 à 19:23
Merci pour tout "UCFOUTU" pour tes conseils et tes idées, j'ai l'impression en te lisant qu'il me reste un sacré bout de route à faire pour prétendre arriver à ton niveau. A bientôt et encore Merci - Hervé
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 oct. 2014 à 20:23
Ton impression n'est pas totalement exacte.
Tout n'est que question de temps, de connaissance et de réflexion.
C'est à ta portée, crois-nous.
0
Rejoignez-nous