Créer des objets sous condition
Résolu
Come on Roger
-
Come on Roger -
Come on Roger -
Bonjour
Je suis débutant en vba et j'aimerais savoir si il est possible de créer des objets (en particulier checkBox) tout cela à travers du code. D'avance merci
Je suis débutant en vba et j'aimerais savoir si il est possible de créer des objets (en particulier checkBox) tout cela à travers du code. D'avance merci
A voir également:
- Créer des objets sous condition
- Site pour vendre des objets d'occasion - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
En VBA, peut être, mais assez complique si tu veux que ça soit sur une UserForm.
si c'est pour en ajouter sur une feuille de calcul, regardes le code généré à partir de l'enregistreur de macro.
si c'est pour en ajouter sur une feuille de calcul, regardes le code généré à partir de l'enregistreur de macro.
Come on Roger
Merci pour ta réponse, mais n'aurait-tu pas même une petite idée pour intégrer une checkBox dans un userform ??
Bonjour,
Pour ajouter un CheckBox dans un Userform de manière dynamique par le code :
1- ouvre un nouveau classeur ,
2- Alt + F11
3- insertion/UserForm
4- le code, dans le module de l'userform est :
Ou alors, si tu veux en insérer plusieurs (5 dans l'exemple) :
Pour ajouter un CheckBox dans un Userform de manière dynamique par le code :
1- ouvre un nouveau classeur ,
2- Alt + F11
3- insertion/UserForm
4- le code, dans le module de l'userform est :
Private Sub UserForm_Initialize() Dim Obj As Object Set Obj = Me.Controls.Add("forms.CheckBox.1") With Obj .Move 6, 6, 80, 20 .Name = "myCheck" .Value = False .Caption = "Cochez-moi!" End With Me.Move Me.Left, Me.Top, 200, 200 End Sub
Ou alors, si tu veux en insérer plusieurs (5 dans l'exemple) :
Private Sub UserForm_Initialize() Dim Obj As Object, Cpt As Byte For Cpt = 1 To 5 Set Obj = Me.Controls.Add("forms.CheckBox.1") With Obj .Move 6, 6 + (20 * (Cpt - 1)), 80, 20 .Name = "myCheck" & Cpt .Value = False .Caption = "Cochez-moi!" End With Next Me.Move Me.Left, Me.Top, 200, 200 End Sub
Bonjour
Maintenant j'arrive bien à créer les objets dans une boucle, cependant une fois créés, je n'arrive pas à communiquer avec ces objets.Voilà mon code:
En attendant une réponse, d'avance merci
Maintenant j'arrive bien à créer les objets dans une boucle, cependant une fois créés, je n'arrive pas à communiquer avec ces objets.Voilà mon code:
Dim i As Integer Dim obj As Object While (Range("B" & i).Text <> "\") If (Range("B" & i) <>"" Then Set obj = Me.Controls.Add("forms.OptionButton.1") With obj .Name = "OptionButton" [ ... ] End With End If i = i + 1 Wend MsgBox OptionButton1.Value 'En arrivant sur le MsgBox, j'ai un message d'erreur "Objet requis"
En attendant une réponse, d'avance merci
Oui, pardon, tu as raison.
Comme je n'ai pas testé, je n'ai pas fait attention à cela.
Comme l'objet n'est pas présent dans l'userform, lors de l'initialize, VBA considère que OptionButton1 écrit comme ça est une variable. Or non déclarée, cela engendre une erreur.
Pour résoudre ceci, il convient d'utiliser la syntaxe :
Comme je n'ai pas testé, je n'ai pas fait attention à cela.
Comme l'objet n'est pas présent dans l'userform, lors de l'initialize, VBA considère que OptionButton1 écrit comme ça est une variable. Or non déclarée, cela engendre une erreur.
Pour résoudre ceci, il convient d'utiliser la syntaxe :
MsgBox Me.Controls("OptionButton3").Value