Excel / macro pour masquer et afficher feuil.

Résolu
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

  1. merci patrice d'avoir apporter le complément d'info.

    tres cdlmnt,

    berni///
    0
    1. 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
      0
      1. 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///
        0
        1. 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///
          0
          1. 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
            
            0
            1. 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