Protéger un onglet

Protéger un onglet - VB/VBA/VBS - Programmation

Marsh Posté le 17-04-2006 à 00:44:39    

bonjour les gens :)
 
je cherche à protéger par code l'acces à un onglet.
si cette commande existe quelque part, je l'ai pas trouvée ...  :??: et rien sur le net non plus... :(  
 
Je ne veux pas que l'utilisateur puisse voir le contenu de cet onglet sans avoir saisit le bon code.
Par contre, j'aimerais que l'ouverture par macro soit possible, et sans avoir à saisir le code.  
 
j'ai pensé à ceci :  
-----------------------------------------------------
Private Sub Worksheet_Activate()
 
       If ActiveSheet.Name = "feuille_verouille" Then
        ActiveWindow.WindowState = xlMinimized
        code = InputBox("L'accès à cet onglet est protégé par un code : " )
        If code <> "0000" Then
            Sheets("autre feuille" ).Select
        Else
            ActiveSheet.Name = "feuille_deverouille"
        End If
        ActiveWindow.WindowState = xlMaximized
    End If
   
End Sub
-----------------------------------------------------
 
ce qui permettrait à la macro qui veut avoir l'acces à cet onglet de le renommer avant d'y accéder.
mais le fait que la feuille en question soit renommée et affichée sous ce nouveau nom ne me plait pas top ...  :kaola:     voila, j espere avoir été assez clair tout en restant court
 
nb : si une solution prévue par Excel existe, je suis preneur    :bounce:  
 
merci pour vos reponses
ps : bravo pour ce forum  :)

Reply

Marsh Posté le 17-04-2006 à 00:44:39   

Reply

Marsh Posté le 17-04-2006 à 12:17:40    

leon_69 a écrit :

bonjour les gens :)
 
je cherche à protéger par code l'acces à un onglet.
si cette commande existe quelque part, je l'ai pas trouvée ...  :??: et rien sur le net non plus... :(  
 
Je ne veux pas que l'utilisateur puisse voir le contenu de cet onglet sans avoir saisit le bon code.
Par contre, j'aimerais que l'ouverture par macro soit possible, et sans avoir à saisir le code.  
 
j'ai pensé à ceci :  
-----------------------------------------------------
Private Sub Worksheet_Activate()
 
       If ActiveSheet.Name = "feuille_verouille" Then
        ActiveWindow.WindowState = xlMinimized
        code = InputBox("L'accès à cet onglet est protégé par un code : " )
        If code <> "0000" Then
            Sheets("autre feuille" ).Select
        Else
            ActiveSheet.Name = "feuille_deverouille"
        End If
        ActiveWindow.WindowState = xlMaximized
    End If
   
End Sub
-----------------------------------------------------
 
ce qui permettrait à la macro qui veut avoir l'acces à cet onglet de le renommer avant d'y accéder.
mais le fait que la feuille en question soit renommée et affichée sous ce nouveau nom ne me plait pas top ...  :kaola:     voila, j espere avoir été assez clair tout en restant court
 
nb : si une solution prévue par Excel existe, je suis preneur    :bounce:  
 
merci pour vos reponses
ps : bravo pour ce forum  :)


 
 
salut,
 
pourquoi ne pas cacher la feuille tout simplement ?
 
Soit par format -> feuille -> cacher
 
ou encore mieux, dans l'éditeur vba de mettre les propriétés de la feuille en "veryhidden". Ainsi, on ne saura l'afficher que par l'éditeur vba. libre à toi ensuite de mettre un code de protection sur le projet-m^me


---------------

Reply

Marsh Posté le 17-04-2006 à 17:38:12    

merci pour ta suggestion, mais je ne peux pas la cacher, puisque l'utilisateur doit pouvoir la selectionner  :)   et je ne peux pas la faire "dé-cacher" à partir d'un bouton placé sur une autre page...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed