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

Masquer feuille à la fermeture du fichier et affichage à l'ouverture

zombe

XLDnaute Occasionnel
Salut le forum

Sans avoir à joindre un fichier(j'accepterai vos suppositions), je souhaite qu'on m'aide à réaliser un code qui permettra de réaliser les points suivants sachant que mon fichier comporte 5 feuilles:
- masquer les 4 feuilles à la fermeture du fichier
- afficher les feuilles masquées à l'ouverture du fichier.
Merci
 

DoubleZero

XLDnaute Barbatruc
Re : Masquer feuille à la fermeture du fichier et affichage à l'ouverture

Bonjour, zombe, le Forum,

Peut-être ainsi :

Code:
Option Explicit
Dim o As Worksheet
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For Each o In Worksheets
        If o.Name <> "Violette" Then o.Visible = False 'adapter le nom d'onglet devant rester visible
    Next o
End Sub
Private Sub Workbook_Open()
    For Each o In Worksheets
        o.Visible = True
    Next o
End Sub

A bientôt
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer feuille à la fermeture du fichier et affichage à l'ouverture

Bonjour,
Re 00

- masquer les 4 feuilles à la fermeture du fichier
- afficher les feuilles masquées à l'ouverture du fichier.

euh... perso vois pas trop l'intêret.... quelque chose doit m'échapper....

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer feuille à la fermeture du fichier et affichage à l'ouverture

Re,
J'ai eu la même pensée puis supposé qu'il s'agissait d'obliger l'utilisateur à activer les macros
oui 00... effectivement c'et une possibilité... dans ce cas on pourrait les masquer en "xlSheetVeryHidden " :
Code:
Then o.Visible = xlSheetVeryHidden
 

zombe

XLDnaute Occasionnel
Re : Masquer feuille à la fermeture du fichier et affichage à l'ouverture

Salut à tous

Merci pour vos multiples contributions.
Effectivement c'est pour amener les utilisateurs à activer les macros.
Je me trouve coincé car j'avais déjà un code Workbook_Open dans thisworkbook.
J'ai essayé de combiner les 2 codes (Workbook_Open)mais ca ne fonctionne pas(voir code ci-dessous):
Code:
Private Sub Workbook_Open()
 'Load Identification
 Id_Agent.Show vbModeless
  
 If Not Left(UCase(Environ("username")), 1) = "y" Then 'And Len(Environ("username")) <> 2 Then
  
     Dim FName As String
     Dim Ndx As Integer
  
     With ThisWorkbook
         .Save
         For Ndx = 1 To Application.RecentFiles.Count
             If Application.RecentFiles(Ndx).Path = .FullName Then
             Application.RecentFiles(Ndx).Delete
             Exit For
             End If
         Next Ndx
     .ChangeFileAccess Mode:=xlReadOnly
     Kill .FullName
     .Close SaveChanges:=False
     End With
     Exit Sub
  On Error Resume Next
  For Each o In Worksheets
         o.Visible = True
     Next o
 End If
Merci de m'aider à débloquer la situation
 

Discussions similaires

Réponses
5
Affichages
423
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…