Afficher un certain nombre de frame
Résolu
pagesalex
-
pagesalex -
pagesalex -
Bonjour,
J'aimerai afficher un certain nombre de frame en fonction d'une cellule récupérée.
Par exemple je récupère 3, je voudrais afficher seulement frame1 et frame2
Merci beaucoup de vos réponse.
J'aimerai afficher un certain nombre de frame en fonction d'une cellule récupérée.
Par exemple je récupère 3, je voudrais afficher seulement frame1 et frame2
Merci beaucoup de vos réponse.
1 réponse
-
Bonjour,
Une façon de faire. A adapter a votre contexte
Private Sub CommandButton1_Click() If Cells(1, 1) <> "" And IsNumeric(Cells(1, 1)) Then NbF = 0 'compte le nombre de frame For Each ctrl In UserForm1.Controls 'Si le type du Controle est une Frame +1 If TypeOf ctrl Is MSForms.Frame Then NbF = NbF + 1 ctrl.Visible = False End If Next NbF = Cells(1, 1) - 1 'nombre de frame a afficher For nf = 1 To NbF Me.Controls("Frame" & nf).Visible = True Next nf End If End Sub
Si vous en voulez 1 et 2 pourquoi 3 dans cellule?????????????????
une autre façon plus logique:Private Sub CommandButton2_Click() If Cells(1, 1) <> "" And IsNumeric(Cells(1, 1)) Then NbF = 0 'compte le nombre de frame For Each ctrl In UserForm1.Controls 'Si le type du Controle est une Frame +1 If TypeOf ctrl Is MSForms.Frame Then NbF = NbF + 1 If NbF <= Cells(1, 1) - 1 Then ctrl.Visible = True Else ctrl.Visible = False End If End If Next End If End Sub