Excel / macro pour masquer et afficher feuil.

Résolu/Fermé
Signaler
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
-
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
-
Bonjour à tous et toutes,

J'espère que vous allez bien. Permettez-moi de commencer ce post par tirer mon chapeau aux « cadres » de ce site. Je suis un « habitué » de CCM et je suis tjrs surpris par la disponibilité dont ce que je nomme les cadres font preuve pour nous aider. Bien sur il y a toujours de nouveaux qui arrivent mais, je voudrais vraiment saluer ceux et celles qui donnent de leur temps pour nous aider...soyez en remercier...et en prenant le risque d'oublier les gens merci à vous chers : vaucluse, le pingou, gbinforme, mike-32, ériiic, raymond pentier, myta, m@rina, michel_m, pépé35530..pardon pour ceux que j'oublie...

Cela étant dit, j'ai une question pour tous.

Voici ma question : pourriez-vus m'aider à réaliser une macro pour masquer (une autre pour afficher) des feuilles dont le nom sur l'onglet commence par pfp_ ?

Dans mon classeur, j'ai plusieurs feuilles qui portent des noms différents.
La première feuille sert de menu. Je pensais mettre un bouton pour masquer et un bouton pour afficher les feuilles dont les noms commencent par pfp_

Une information qui à peut-être sont importance...j'ajoute régulièrement des feuilles dont le nom commence par pfp_

Merci de l'attention que vous porterez au présent post

Bien à vous

Berni///

6 réponses

Messages postés
16116
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 novembre 2021
1 563
Bonjour,

Sub Cache_Onglets()
Dim wks As Worksheet
For Each wks In Worksheets
If Left(wks.Name, 4) = "pfp_" Then
wks.Visible = False
End If
Next wks
End Sub

Sub Affiche_Onglets()
Dim wks As Worksheet
For Each wks In Worksheets
If Left(wks.Name, 4) = "pfp_" Then
wks.Visible = True
End If
Next wks
End Sub


Bonne suite
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 716
Bonjour Benj71

Option Explicit
Sub MasquerfeuillesPFP()
Dim wsh As Worksheet

  For Each wsh In Worksheets
    If Left(wsh.Name, 4) = "pfp_" Then wsh.Visible = xlSheetHidden
  Next wsh

End Sub

Sub AfficherfeuillesPFP()
Dim wsh As Worksheet

  For Each wsh In Worksheets
    If Left(wsh.Name, 4) = "pfp_" Then wsh.Visible = xlSheetVisible
  Next wsh

End Sub
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
26
Bonjour messieurs,

merci d'avoir accepter de répondre à mon problème.
pourriez-vous me dire quelle différence y a-t-il entre les deux propositions et si l'une est "meilleure" que l'autre ?

j'observe une différence ; là ou f894009 ecrit wks, patrice33740 ecrit wsh...qu'elle différence y a-t-il ?


merci de votre eclairage au combien précieux...

tres cdlmnt

berni///
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
26
bonsoir à tous,

je me permets de relancer le post afin de voir si l'un ou l'une d'entre vous peut apporter un eclairage par rapport à ma question.

merci à vous...

benri///
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 716
Bonsoir,

Il n'y a aucune différence entre l'utilisation de wsh et wks.

Quand on déclare une variable on peut lui donner le nom qu'on veut à condition de ne pas utiliser un nom réservé au langage : On aurait aussi bien pu utiliser Feuille (mais pas worksheet) .

La différence réside plutôt dans l'utilisation des constantes nommées, f894009 utilise une des deux valeurs :
- False
- True

Cela fonctionne très bien, mais pour ma part je préfère utiliser une des trois valeurs possibles :
- xlSheetVisible
- xlSheetHidden
- xlSheetVeryHidden
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
26
merci patrice d'avoir apporter le complément d'info.

tres cdlmnt,

berni///