Afficher un certain nombre de frame

Résolu/Fermé
pagesalex - 27 juin 2018 à 16:09
 pagesalex - 28 juin 2018 à 09:40
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.

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 28 juin 2018 à 07:24
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
1
Je vais cherche le nombre de personne dans un foyer si on me retourne 3 cela veut dire que je dois ajouter 2 membres (nom prénom etc) et donc je veux afficher la frame 1 et la frame 2 uniquement. Je test votre code il ne me retourne aucune frame sachant que j'ai fais les modifs.
0
Merci beaucoup finalement j'ai testé le premier code et il fonctionne merci beaucoup !
0