Excel/marco/afficher feuilles masquées

Résolu/Fermé
benji71 Messages postés 738 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 4 janvier 2015 - 1 janv. 2011 à 22:20
benji71 Messages postés 738 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 4 janvier 2015 - 1 janv. 2011 à 23:26
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
Modifié par gbinforme le 1/01/2011 à 22:59
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 mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
1 janv. 2011 à 23:01
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 samedi 22 mars 2008 Statut Membre Dernière intervention 4 janvier 2015 23
1 janv. 2011 à 23:26
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