j'ai une macro pour cacher 1 page (nommée "tab") elle fonctionne très bien, je voudrais y rajouter une 2eme page (nommée "graph") mais je n'y arrive pas afin que la macro me cache tab et graph
merci
cordialement
Sub Cache()
For i = 1 To 5
Worksheets("tab").Visible = xlSheetHidden
Next i
End Sub
Sub Décache()
Dim nbressais As Byte
Dim Mdp
retour:
Mdp = InputBox("Entrez le mot de passe", "Avertissement : l'accès aux Feuilles est sécurisé ")
If Mdp = "" Then Exit Sub
If Mdp = "toto" Then
For i = 1 To 5
Worksheets("tab").Visible = xlSheetVisible
Next i
For Each Ctrl In Sheets("Tab").OLEObjects
If Ctrl.progID = "Forms.CommandButton.1" Then Ctrl.Object.Caption = "Cacher les Feuilles"
Next Ctrl
Else
nbressais = nbressais + 1
If nbressais = 3 Then
MsgBox "Ce classeur va se fermer."
ThisWorkbook.Close SaveChanges:=False
End If
MsgBox "Mot de passe incorrect."
GoTo retour
End If
End Sub
bonsoir,
merci pour vos réponse
par contre malgré le MDP, on peut ouvrir les feuilles cachées par le biais d'un clic droit sur une feuille, puis afficher puis selection de la feuille et elle s'ouvre
y'a t'il un moyen de bloquer cela?
Oui mais non
Oui en mettant un mot de passe sur le projet VBA.
Non parce que ce verrou peut s'ôter sans connaitre le mot de passe en moins de 27 secondes
(13 les nuits sans lune)
NB: On peut aussi simplement enregistrer une copie du classeur en *.xlsx puis afficher les feuilles.
Et si les feuilles sont protégées par un mot de passe, là aussi on peut supprimer la protection sans connaitre le mot de passe.
bonsoir,
merci pour vos réponse
par contre malgré le MDP, on peut ouvrir les feuilles cachées par le biais d'un clic droit sur une feuille, puis afficher puis selection de la feuille et elle s'ouvre
y'a t'il un moyen de bloquer cela?
Jacky67
Cela n’empêche pas le clic-droit-> Visualiser le code -> aller sur la feuille masquée et remettre la propriété de la feuille sur Visible= True
(d'ou mon précédent message)
j'ai adapté cela à mon tableau, mais en passant par une des feuilles avec un simple clic droit "afficher feuille" on peu ouvrir les feuilles masquée par code bva
Sub Cache()
Worksheets("tab").Visible = xlSheetHidden
Worksheets("graph").Visible = xlSheetHidden
End Sub
Sub Décache()
Dim nbressais As Byte
Dim Mdp
retour:
Mdp = InputBox("Entrez le mot de passe", "Avertissement : l'accès aux Feuilles est sécurisé ")
If Mdp = "" Then Exit Sub
If Mdp = "luca" Then
For i = 1 To 5
Worksheets("tab").Visible = xlSheetVisible
Worksheets("graph").Visible = xlSheetVisible
Next i
For Each Ctrl In Sheets("Tab").OLEObjects
If Ctrl.progID = "Forms.CommandButton.1" Then Ctrl.Object.Caption = "Cacher les Feuilles"
Next Ctrl
Else
nbressais = nbressais + 1
If nbressais = 3 Then
MsgBox "Ce classeur va se fermer."
ThisWorkbook.Close SaveChanges:=False
End If
MsgBox "Mot de passe incorrect."
GoTo retour
End If
End Sub
Jacky67
Cela n’empêche pas le clic-droit-> Visualiser le code -> aller sur la feuille masquée et remettre la propriété de la feuille sur Visible= True
(d'ou mon précédent message)
Bonsoir Staple1600
Nos messages se sont croisés, je n'avais pas vu le tien, désolé
Il y a aussi
Code:
Private Sub Workbook_Open()
Call Cache
Application.CommandBars("ply").Enabled = False
End Sub
Qui empêche le clic droit sur un onglet.
Mais bon, je ne pense pas... qu'un MDP dans un code vba soit une bonne protection.
Mais y a t'il une bonne protection