Multipage dynamique, VBA
Fermé
little developer
-
12 janv. 2012 à 07:16
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 janv. 2012 à 12:23
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 janv. 2012 à 12:23
A voir également:
- Multipage dynamique, VBA
- Tableau croisé dynamique - Guide
- Liste déroulante dynamique excel - Guide
- Liste déroulante dynamique en cascade excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
13 janv. 2012 à 12:23
13 janv. 2012 à 12:23
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...