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
- Créer un compte gmail - 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