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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 '-------------------------------------------------
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
'-------------------------------------------------
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 '-------------------------------------------------
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... :-(
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... :-(
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... :-(
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 '-------------------------------------------------
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
'-------------------------------------------------
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 '-------------------------------------------------
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
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.
Une façon de faire avec des contrôles émanant de la barre d'outils formulaire
http://cjoint.com/?DBkpgA18RFM
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
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
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
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...
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...
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...
Emile63
Ok, cette fois j'ai compris. ;-)
Je te remercie beaucoup pour ton aide et ta compréhension. Bonnes salutations, Emile
Ok, cette fois j'ai compris. ;-)
Je te remercie beaucoup pour ton aide et ta compréhension.
Bonnes salutations,
Emile