Comment puis-je ajouter dynamiquement un bouton radio dans un formulaire à l'aide de VBA
Je veux ajouter dynamiquement un bouton radio dans un formulaire, à l'aide de VBA.
J'ai essayé l'écriture de ce code, mais il se bloque avec "Incompatibilité de Type"
Dim optionBtn As OptionButton
Set optionBtn = UserForm1.Controls.Add("Forms.OptionButton.1", "name", True)
optionBtn.Left = 10
optionBtn.Top = 10
optionBtn.Width = 30
optionBtn.Group = "q1"
J'ai aussi essayé de faire ceci:
Dim optionBtn As Control
Set optionBtn = UserForm1.Controls.Add("Forms.OptionButton.1", "name", True)
optionBtn.Left = 10
optionBtn.Top = 10
optionBtn.Width = 30
optionBtn.Group = "q1"
mais j'ai un Contrôle, pas un OptionButton - comment puis-je convertir un OptionButton ? (désolé, je suis nouveau sur VB)
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de le faire fonctionner avec ce (Excel 2003):
Mise à jour pour refléter vos modifications à partir d'un Label à un contrôle OptionButton
Encore une fois, la clé est d'utiliser une Variante du type de la variable que vous attribuez le retourné de contrôle pour:
Gardez à l'esprit que la saisie semi-automatique ne fonctionne pas sur les variables qui sont définies comme des Variantes. Cependant vous pouvez toujours faire référence aux propriétés et méthodes de ces variables par les taper manuellement.
En fait, je crois que le problème réside dans le fait que vous nommez optionBtn comme un objet bouton. Il doit être nommé comme l'un des MSForms Bouton d'Option. Depuis une Variante peut être un objet, cela fonctionnera à l'aide d'une variante.
J'ai utilisé la commande suivante et il fonctionne très bien.
' ici les modifications de code x et y selon l'endroit où l'utilisateur (modèle excel), dirige le contrôle suivant.
ensuite, j'ai
Bonne chance....
marque code devrait fonctionner, mais souvent je préfère créer l'élément manuellement, puis afficher/masquer fondé sur la nécessité.
Vous devez définir l'objet comme un optionbutton de la msforms bibliothèque.