Regroupement de boutons de commandes [Résolu]

Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
- - Dernière réponse : ucfoutu
Messages postés
18039
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
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
1
Merci
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.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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 ...
Commenter la réponse de ucfoutu
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
0
Merci
Bonsoir
Merci pour ton aide.
En fait je suis sous VBA Excel.

Merci

--
jordane45
Messages postés
26513
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 octobre 2019
316 -
sujet déplacé en VBA
Herve29000
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
-
Désolé, et merci de votre contribution.
Commenter la réponse de Herve29000
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
Tu t'en sors, après analyse et adaptation ?
Si tu n'y parviens pas, dis-le et je te fait du tout cuit

Commenter la réponse de ucfoutu
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
0
Merci
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


--
Commenter la réponse de Herve29000
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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
Herve29000
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
-
Merci, je vais essayer, et te tiens au courant.
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212 -
Oui, s'il te plait, car "cas d'école" auquel on pourra se référer.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
0
Merci
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
--
Herve29000
Messages postés
38
Date d'inscription
dimanche 6 juillet 2008
Statut
Membre
Dernière intervention
20 octobre 2014
-
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é
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212 -
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.
Commenter la réponse de Herve29000