Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro afficher et masquer certaines feuilles

  • Initiateur de la discussion Initiateur de la discussion anasimo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

anasimo

XLDnaute Occasionnel
Bonjour

Je cherche une macro qui me sert de masquer et afficher (avec 2 boutons: un pour afficher et l'autre pour masquer) certaines feuilles (exemple feuille 4,5,6,7,8 qui portent des noms différents)

Merci d'avance
 
Re

Il te suffit de modifier les instructions dans le code :
VB:
If Not feuille Is Feuil1 And Not feuille Is Feuil4 And Not feuille Is Feuil5 And Not feuille Is Feuil6 _
        And Not feuille Is Feuil7 And Not feuille Is Feuil8 Then feuille.Visible = Affichage
Un impératif, ne pas oublier de laisser la FEUILLE1 dans la sélection car c'est elle qui comporte le Bouton de commande....

Sinon après il suffit de mettre un ARRAY pour les feuilles à masquer ... Attendons les pros....

@+ Eric c
 
Bonsoir le fil

Une macro qui fait tout en un
1ère exécution: elle masque, seconde exécution: elle démasque
Donc besoin d'un seul bouton
VB:
Sub Macro_a_affecter_a_1_seul_Bouton()
'ici mettre le nom des feuilles selon les besoins
MasqueDemasque "Feuil1", "Feuil3"
'NB:Evidemment les feuilles doivent exister dans le classeur
'et les noms dans la macro doivent être rigoureusement identiques aux noms réels des feuilles
End Sub
Private Sub MasqueDemasque(ParamArray feuilles() As Variant)
Dim wb As Workbook, i&, vArr()
Application.ScreenUpdating = False
vArr = feuilles: Set wb = ActiveWorkbook
For i = 0 To UBound(vArr)
wb.Sheets(vArr(i)).Visible = Not wb.Sheets(vArr(i)).Visible
Next i
End Sub
 
Bonjour le fil, Eric,

Pas sûr qu'un bouton reverse soit nécessaire. La ligne
VB:
wb.Sheets(vArr(i)).Visible = Not wb.Sheets(vArr(i)).Visible
te permet de récupérer la valeur et d'inverser directement, sans avoir besoin de passer par un "reverse" (enfin si j'ai bien compris ce que tu voulais dire par reverse haha)

Bonne continuation
 
Re,
Bonjour XUpsilon

J'ignore si j'ai employé le terme exact de ce bouton 😎 qui possède 2 captions ???? J'ai encore trop de choses à apprendre en Vba (et ailleurs aussi 😀) et je me contente, en ce qui concerne Vba, de bidouiller ce que je trouve d'intéressant sur notre cher forum.
@+ Eric c
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
479
Réponses
6
Affichages
200
Réponses
6
Affichages
165
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…