Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment contrôler les checkbox par VBA

8 réponses
Avatar
Emile63
Bonjour =E0 tous, je cherche =E0 savoir comment contr=F4ler les checkBox et=
boutons radio depuis VBA Excel 2010.
Par exemple, comment donner un fruit a Pierre et d=E9sactiver les autres no=
ms.
(Voir exemple)
http://cjoint.com/?DBenWE0okPg

Merci d'avance pour votre aide,
Cordialement,
Emile

8 réponses

Avatar
MichD
Bonjour,

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
'-------------------------------------------------
Avatar
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 noms.

(Voir exemple)

http://cjoint.com/?DBenWE0okPg



Merci d'avance pour votre aide,

Cordialement,

Emile



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... :-(
Avatar
MichD
La macro fait appel à la feuille "Feuil1" où tu as mis
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
'-------------------------------------------------
Avatar
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 noms.

(Voir exemple)

http://cjoint.com/?DBenWE0okPg


Merci d'avance pour votre aide,

Cordialement,

Emile



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
Avatar
MichD
Une façon de faire avec des contrôles émanant de la barre d'outils
formulaire

http://cjoint.com/?DBkpgA18RFM
Avatar
Emile63
Merci MichD pour ton support.

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
Avatar
MichD
Tu n'as pas besoin de rajouter ou de cocher quelque chose pour faire
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...
Avatar
Emile63
Ok, cette fois j'ai compris. ;-)

Je te remercie beaucoup pour ton aide et ta compréhension.
Bonnes salutations,
Emile