Comment contrôler les checkbox par VBA
Le
Emile63

Bonjour à tous, je cherche à savoir comment contrôler les checkBox et=
boutons radio depuis VBA Excel 2010.
Par exemple, comment donner un fruit a Pierre et désactiver les autres no=
ms.
(Voir exemple)
http://cjoint.com/?DBenWE0okPg
Merci d'avance pour votre aide,
Cordialement,
Emile
boutons radio depuis VBA Excel 2010.
Par exemple, comment donner un fruit a Pierre et désactiver les autres no=
ms.
(Voir exemple)
http://cjoint.com/?DBenWE0okPg
Merci d'avance pour votre aide,
Cordialement,
Emile
Si tu ajoutes un cadre (frame) dans lequel tu places des boutons option
émanant de la barre d'outils formulaire dans la feuille de calcul "Feuil1"
voici quelques
lignes de code comment on peut s'amuser avec ces boutons option.
Les contrôles émanant de la barre d'outils "contrôle" possèdent beaucoup
plus de
flexibilité lorsque vient le temps d'écrire du code!
'-------------------------------------------------
Sub test()
Dim Obj As OptionButton
For Each Obj In Feuil1.OptionButtons
'Le nom de la feuile où se retrouve le contrôle
a = Obj.Parent.Name
'Le texte du bouton d'option
b = Obj.Caption
'Sélectionne le optionbutton
Obj.Select
'Extrait la valeur du bouton option :
'1 le bouton est coché
' -4146 le bouton est décoché
y = Obj.Value
'Cocher le bouton option
Obj.Value = 1
'décocher le bouton option
Obj.Value = -4146
Z = Obj.GroupBox.Name
'Masquer le frame
Obj.GroupBox.Visible = False
'Afficher le frame
Obj.GroupBox.Visible = True
'Masquer le bouton option
Obj.Visible = False
'afficher le bouton option
Obj.Visible = True
'Pour attacher l'exécution d'une macro au bouton option
'Feuil1 signifie que le code est dans le module feuille "Feuil1"
'tu mettre la macro dans un module standard...nul besoin de
'nommer le nom du module dans ce cas
Obj.OnAction = "Feuil1.MaMacro"
Next
End Sub
'-------------------------------------------------
Bonjour MichD,
Merci pour ton explication et pour ton aide.
Comme tu le dis c'est juste pour s'amuser, mais sans trop compliquer le tru c.
Le probl. c'est que j'ai copié ta proc. dans un module, et là, après le: For / Each va direct à la fin et End sub
J'ai dû oublier un truc... :-(
le "frame" avec les boutons options, tous ces contrôles
émanant de la boîte d'outils "formulaire.
Cette ligne de code va générer une erreur si tu n'as pas
une macro appelée "MaMacro" dans le module objet "Feuil1"
Obj.OnAction = "Feuil1.MaMacro"
'-------------------------------------------------
Sub test()
Dim Obj As OptionButton
For Each Obj In Worksheets("Feuil1").OptionButtons
'Le nom de la feuile où se retrouve le contrôle
a = Obj.Parent.Name
'Le texte du bouton d'option
b = Obj.Caption
'Sélectionne le optionbutton
Obj.Select
'Extrait la valeur du bouton option :
'1 le bouton est coché
' -4146 le bouton est décoché
y = Obj.Value
'Cocher le bouton option
Obj.Value = 1
'décocher le bouton option
Obj.Value = -4146
Z = Obj.GroupBox.Name
'Masquer le frame
Obj.GroupBox.Visible = False
'Afficher le frame
Obj.GroupBox.Visible = True
'Masquer le bouton option
Obj.Visible = False
'afficher le bouton option
Obj.Visible = True
'Pour attacher l'exécution d'une macro au bouton option
'Feuil1 signifie que le code est dans le module feuille "Feuil1"
'tu mettre la macro dans un module standard...nul besoin de
'nommer le nom du module dans ce cas
Obj.OnAction = "Feuil1.MaMacro"
Next
End Sub
'-------------------------------------------------
Bonjout MichD,
Pourrais-tu STPL me mettre ton exemple dans un classeur sur cjoint.com
Plus j'essaie d'utiliser cette procédure moins elle fonctionne... :-(
J'aimerais bien savoir ce qui ne va pas, sur la base d'un modèle qui fonc tionne.
Je te remercie d'avance,
Bonne journée,
Emile
formulaire
http://cjoint.com/?DBkpgA18RFM
J'ouvre le classeur, et les proc. "Identifier_Le_Bouton_Radio" et "Qui_Suis _Je" fonctionnent bien, mais la troisième: "test" après le premier For each, s'en va directement à Next, End Sub.
et c'est fini... :-(
-Est-ce que par hasard il y aurait une référence à ajouter dans les r éf. VBA?
J'ai actuellement coché les suivantes:
Visual Basic for Applications
Microsoft Excel 12.0 Object Library
Ole Automation
Microsoft Office 12.0 Object Library
Encore merci pour le conseil,
bonne soirée,
Emile
fonctionner les 2 procédures "Identifier_Le_Bouton_Radio" ET "Qui_Suis_Je".
Si ces 2 procédures fonctionnent bien, le reste n'est pas important!
La procédure "Test" ne sert à rien dans ton application, c'est du "code
exemple"
que j'ai publié dans le message précédent que j'ai ajouté au module et qui
pourrait éventuellement t'aider...
Je te remercie beaucoup pour ton aide et ta compréhension.
Bonnes salutations,
Emile