Créer un même bouton Afficher/Masquer certaines Feuilles

un internaute

XLDnaute Occasionnel
Bonjour le forum,
Comme dit dans le titre je veux créer un même bouton qui Affiche & Masque certaines feuilles

Macro Masquer

Sub Masquer() For Each Sh In Array("Toto1", "Toto2",("Toto3")
Sheets(Sh).Visible = xlVeryHidden
Next Sh
End Sub

Merci d'avance
Bien cordialement
 

un internaute

XLDnaute Occasionnel
Bonjour le forum,
Je n'ai pu répondre plutôt, toutes mes excuses.
J'aimerais le faire comme la macro ci-dessous
Même bouton Afficher/Masquer (exemple ci-dessous) mais je ne sais pas le faire!!!

Sub AfficherMasquerOnglets()
Dim Ws As Worksheet
Dim Sh As Shape
Dim Nom As String

Application.ScreenUpdating = False
Set Sh = ActiveSheet.Shapes(Application.Caller)
With Sh.TextFrame.Characters
'On compare les 8 caractères de gauche(Left)en Majuscule(UCase)du Texte du bouton avec les caractères en Majuscule(UCase)du mot "protéger".
If UCase(Left(.Text, 8)) = UCase("protéger") Then
.Text = "Déprotéger Onglet"
For Each Ws In Worksheets
Ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Next Ws
Else
For Each Ws In Worksheets
Ws.Unprotect
Next Ws
.Text = "Protéger Onglet"
End If
End With

End Sub


J'ai fait manuellement (nouvelle macro)

Sub MasquerOnglets()
Sheets(Array("Toto1", "Toto2")).Select
Sheets("Toto1", "Toto2").Activate
ActiveWindow.SelectedSheets.Visible = False
End Sub

Sub AfficherOnglets()
Sheets("toto1").Visible = True
Sheets("Toto2").Visible = True
End Sub

Où faut-il insérer les lignes des 2 macros faites manuellement?
Merci d'avance pour vos éventuels retour
Bien cordialement
 

un internaute

XLDnaute Occasionnel
Bonsoir à tous,
Voilà ce que je voulais
Merci à toi M12

Sub AfficherMasquerOnglets()
Dim Ws As Worksheet, Feuille As Worksheet
Dim LesFeuilles, Affiche As Integer
Affiche = xlSheetVeryHidden
Set Ws = ActiveSheet
Application.ScreenUpdating = False
LesFeuilles = Array("Toto1", "Toto2", "Toto3")
If Sheets(LesFeuilles(0)).Visible = xlSheetVeryHidden Then Affiche = True
For Each Feuille In Sheets(LesFeuilles)
With Feuille
.Unprotect
.Visible = Affiche
.Protect
End With
Next Feuille
End Sub

Bonne fin de soirée à tous
Cordialement
 

M12

XLDnaute Impliqué
Bonsoir,

Sauf que cela n'a rien à voir avec ta 1er Question, comme quoi, une question ou demande bien demandée sera résolu plus facilement ;)
 

un internaute

XLDnaute Occasionnel
Bonsoir,

Sauf que cela n'a rien à voir avec ta 1er Question, comme quoi, une question ou demande bien demandée sera résolu plus facilement ;)
Bonjour M12,
Effectivement j'ai changé mon "fusil d'épaule"!!!...et ça rien à voir.
Merci en tout cas pour tes réponses.
Bonne journée à toi
Cordialement
 

Haut Bas