je veux masquer les feuille à la fermeture du fichier par le code suivant :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Home").Select
Protect
For I = 2 To Worksheets.Count
If Sheets(I).Visible = -1 Then
Sheets(I).Visible = 2
End If
Next I
End Sub
Bonjour,
Perso je n'ai pas de message d'erreur...
Par contre je préfère:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each sh In Sheets
If sh.Name <> "Home" Then
sh.Visible = False
End If
Next sh
End Sub
Bonsoir,
J'ai toujours le message d'erreur même avec le code au-dessus, aussi quand le clique droit sur la feuille "Masquer / Afficher " sont grisé
et y a pas moyen de les activer j'ai joins les captures d'écran dans le fichier.
Merci pour toute aide, je veux sortir de cet impasse.
C'est le Bon Dieu qui a protégé le classeur ? Béni soit-il :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Home").Select
Unprotect 'ôte la protection du classeur (sans mot de passe)
For Each sh In Sheets
If sh.Name <> "Home" Then sh.Visible = False
Next sh
Protect 'protège le classeur (sans mot de passe)
End Sub
Merci pour votre réponse,
Maintenant avec le nouveau code je n'ai plus de message d'erreur quand je ferme le fichier,
toutefois mes feuilles sont masqués et je n'arrive pas à les afficher avec le code Nom de Feuille.visible = True
le programme debogue "Impossible de definir la propriété visible de la classe worksheet"
et le menu contextuel du clic droit sur la feuille Home reste toujours grisé.