Afficher/masque feuille via userform

Nanir

XLDnaute Occasionnel
Bonjour à tous,

Ce message fait suite à un ancien post que je ne retrouve plus...

Voici ma question initiale : comment faire apparaître/selectionner une feuille en cliquant sur un bouton userform.
Réponse : ThisWorkbook.Sheets(CommandButton1.Caption).select
Ca fonctionne très bien.

A présent, j'aimerai savoir comment faire disparaître toutes les autres feuilles (sauf celle qui est selectionnée via l'userform bien sur...).

Ma réponse serai d'inscrire autant de fois qu'il y a de boutons et de feuilles : sheets("xxxxx").visible = false... Mais c'est super long...
N'y aurait-il pas un moyen plus rapide?

Merci pour votre aide...
 

cbea

XLDnaute Impliqué
Re : Afficher/masque feuille via userform

Bonjour Nanir,

J'espère que cette solution correspondra à ta demande.
Code:
Private Sub CommandButton1_Click()
    ' Afficher ou masquer des feuilles
    Call MasquerAfficherWS(CommandButton1.Caption)
End Sub

Sub MasquerAfficherWS(nomWS As String)
    ' Afficher ou masquer des feuilles
    Dim nbWS As Integer
    
    ' Boucle de la 1re à la dernière du classeur
    For nbWS = 1 To ThisWorkbook.Worksheets.Count
        ' Si le nom de la feuille est différente du nom du bouton,
        ' masquer la feuille sinon rendre visible la feuille
        If Worksheets(nbWS).Name <> nomWS Then
            Worksheets(nbWS).Visible = False
        Else
            Worksheets(nbWS).Visible = True
        End If
    Next nbWS
End Sub
 

ChTi160

XLDnaute Barbatruc
Re : Afficher/masque feuille via userform

Salut Nanir
Bonjour le fil

je n'ai pas le temps , je pars au boulot Lol
mais fait une recherche sur Module de Classe, cela permet de créer une sorte de collection de Boutons, qui auront la même procédure
Bonne recherche
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 951
dernier inscrit
Misterb