Excel/marco/afficher feuilles masquées

Résolu
benji71 Messages postés 789 Statut Membre -  
benji71 Messages postés 789 Statut Membre -
Bonsoir à tous et ttes,

Pour commencer, permettez-moi de vous souhaitez une bonne année 2011.

dans un même classeur, j'ai un trentaine de feuilles. parmi ces 30, j'ai douze feuilles, une par mois de l'année dont l'onglet est nommée gp-01-11, gp-02-11, gp-03-11..jusqu'à gp-12-11. j'ai douze autres feuilles, un par mois également, dont l'onglet nommé gpe-01-11, gpe-02-11, gpe-03-11, gpe-04-11 jusqu'a gpe-12-11.

sur la feuille 1 du classeur, j'aimerais créer :

- un bouton sur lequel je viendrai mettre une marco qui masque les feuilles contenant un gp,
- un bouton sur lequel je viendrai mettre une marco qui afficher les feuilles contenant un gp,
- un bouton sur lequel je viendrai mettre une marco qui masque les feuilles contenant un gpe,
- un bouton sur lequel je viendrai mettre une marco qui afficher les feuilles contenant un gpe,

j'avais trouvé une marco sur le net qui affichais les feuilles masquées mais cela s'appliquait à l'ensemble des feuilles masquée.

ma question est donc de savoir si cela est possible et si vous pouvez me donner une piste pour résoudre ma difficulté du moment...

vous en remerciant...

cdlmt

berni//

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour benji71 et bonne année 2011 à toi aussi

    Tu peux le faire simplement en appelant avec chaque bouton une procédure paramétrée :

    Private Sub CommandButton1_Click() 
        Call aff_mas(False, "gp-") 
    End Sub 
    Private Sub CommandButton2_Click() 
        Call aff_mas(True, "gp-") 
    End Sub 
    Private Sub CommandButton3_Click() 
        Call aff_mas(False, "gpe-") 
    End Sub 
    Private Sub CommandButton4_Click() 
        Call aff_mas(True, "gpe-") 
    End Sub 
    Public Sub aff_mas(fonction, nom) 
    Dim sh As Object 
    For Each sh In ThisWorkbook.Sheets 
        If Left(sh.Name, Len(nom)) = nom Then sh.Visible = fonction 
    Next 
    End Sub 
    

    La procédure "aff_mas" agit en fonction du paramètre pour masquer ou afficher.

    Toujours zen
    0
  2. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   958
     
    Salut le forum

    Bonne Année 2011

    Voila deux codes, il te suffit de modifier pour le "gpe"
    Left(.Name, 3) = "gp-"
    par
    Left(.Name, 3) = "gpe"

    Et les codes à mettre dans un module
    Public i As Integer
    
    Sub Afficher_gp()
    
    For i = 1 To ActiveWorkbook.Worksheets.Count
      With Sheets(i)
        If Left(.Name, 3) = "gp-" Then .Visible = True
      End With
    Next i
    
    End Sub
    
    Sub Masquer_gp()
    
    For i = 1 To ActiveWorkbook.Worksheets.Count
      With Sheets(i)
        If Left(.Name, 3) = "gp-" Then .Visible = False
      End With
    Next i
    
    End Sub
    

    Mytå
    0
  3. benji71 Messages postés 789 Statut Membre 23
     
    Bsr gbinforme et myta,

    un tout grand merci pour votre intervention...cela me permet d'avancer dans la compréhension d'excel et de ses nombreuses applications....

    cdlmnt,

    berni///
    0