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

un internaute

XLDnaute Impliqué
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 Impliqué
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 Impliqué
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
 

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll