Excel/marco/afficher feuilles masquées

Résolu
benji71 Messages postés 738 Date d'inscription   Statut Membre Dernière intervention   -  
benji71 Messages postés 738 Date d'inscription   Statut Membre Dernière intervention   -
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//






A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
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
benji71 Messages postés 738 Date d'inscription   Statut Membre Dernière intervention   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