Multipage dynamique, VBA
little developer
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaite développer une petite application sous vba.
Il s'agit de créer dynamiquement un formulaire multipage, dont les pages différentes correspondent à différents éléments. Le nombre de pages du multipage est dynamique.
Chaque page doit par ailleurs se remplir grâce au programme: par exemple, page1 doit se remplir de checkbox correspondant à tous les fichiers du dossier dans lequel est placé le classeur excel.
Créer des checkboxes dynamiquement n'est pas un pb. En revanche, je n'arrive pas à les faire apparaitre sur les pages. si je fais:
UserForm1.Controls.Add("forms.CheckBox.1"), on ne verra pas la checkbox.
J'espère avoir été clair, merci d'avance de vos réponses.
Cordialement,
Little Developer
Je souhaite développer une petite application sous vba.
Il s'agit de créer dynamiquement un formulaire multipage, dont les pages différentes correspondent à différents éléments. Le nombre de pages du multipage est dynamique.
Chaque page doit par ailleurs se remplir grâce au programme: par exemple, page1 doit se remplir de checkbox correspondant à tous les fichiers du dossier dans lequel est placé le classeur excel.
Créer des checkboxes dynamiquement n'est pas un pb. En revanche, je n'arrive pas à les faire apparaitre sur les pages. si je fais:
UserForm1.Controls.Add("forms.CheckBox.1"), on ne verra pas la checkbox.
J'espère avoir été clair, merci d'avance de vos réponses.
Cordialement,
Little Developer
A voir également:
- Multipage dynamique, VBA
- Tableau croisé dynamique - Guide
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
- Liste déroulante dynamique excel - Guide
- Sommaire dynamique word - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
J'ai créé un UserForm, sur lequel j'ai placé :
- Un multipage de deux pages (1 et 2)
- 2 CommandButton : AjoutCheckPage1 et AjoutCheckPage2
Le code de ces boutons, pour ajouter des checkboxs aux pages 1 et 2 est :
Ci-joint une petite démo... Appuies plusieurs fois sur chaque bouton, page2 non sélectionnée etc...
J'ai créé un UserForm, sur lequel j'ai placé :
- Un multipage de deux pages (1 et 2)
- 2 CommandButton : AjoutCheckPage1 et AjoutCheckPage2
Le code de ces boutons, pour ajouter des checkboxs aux pages 1 et 2 est :
Private Sub AjoutCheckPage1_Click() Dim Obj As Control Dim Cptr As Integer, Hauteur As Integer 'détermine le nombre de CheckBox déjà présents dans l'USF pour déterminer le nom For Each Obj In Me.MultiPage1.Pages(0).Controls If TypeOf Obj Is MSForms.CheckBox Then Cptr = Cptr + 1 Next Cptr = Cptr + 1 Hauteur = Cptr * 30 + 30 '30 = Top de chaque checkBox If Hauteur >= Me.MultiPage1.Height - 20 Then MsgBox "Plus de place" Exit Sub End If Set Obj = Me.MultiPage1.Pages(0).Controls.Add("forms.Checkbox.1") With Obj .Name = "monCheckBox" & Cptr .Caption = "monCheckBox" & Cptr .Left = 10 .Top = 30 * Cptr .Width = 100 .Height = 20 End With End Sub Private Sub AjoutCheckPage2_Click() Dim Obj As Control Dim Cptr As Integer, Hauteur As Integer 'détermine le nombre de CheckBox déjà présents dans l'USF pour déterminer le nom For Each Obj In Me.MultiPage1.Pages(1).Controls If TypeOf Obj Is MSForms.CheckBox Then Cptr = Cptr + 1 Next Cptr = Cptr + 1 Hauteur = Cptr * 30 + 30 '30 = Top de chaque checkBox If Hauteur >= Me.MultiPage1.Height - 20 Then MsgBox "Plus de place" Exit Sub End If Set Obj = Me.MultiPage1.Pages(1).Controls.Add("forms.Checkbox.1") With Obj .Name = "monCheckBox" & Cptr .Caption = "monCheckBox" & Cptr .Left = 10 .Top = 30 * Cptr .Width = 100 .Height = 20 End With End Sub
Ci-joint une petite démo... Appuies plusieurs fois sur chaque bouton, page2 non sélectionnée etc...