Bloquer le classeur si les macros ne sont pas activés
Bonjour à tous,
j'ai un classeur Excel planning d'une équipe avec macro mdp utilisateur afin qu'ils n'accèdent qu'a leur propre service
mon problème c'est que si il n'active pas les macros, il peuvent arrivé à voir tout le classeur.
ils peuvent utiliser n'importe quel pc de la boite, et le classeur se trouve dans un serveur
userform ils rentre leur nom + MDP et accès à leur service (une feuil = 1 service)
le classeur comporte 7 feuils dont la feuil01 ou s'affiche l'userform
je souhaiterais que le classeur soit bloquer de toute lecture si ils n'activent pas les macros? ou si il y a à une autre solution?
ThisWorkbook :
Private Sub Workbook_open()
Dim Ws As Worksheet
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Feuil1" Then Ws.Visible = xlSheetVeryHidden
Next Ws
Load UserForm1
UserForm1.show
End Sub
merci
cordialement.
PS: j'ai trouvé cela sur le net mais ne sait pas l'adapté à mon bva
une solution possible serait de créer une feuille affichant le message "Vous devez activer les macros".
Puis :
> à la fermeture du classeur, tu caches toutes les feuilles sauf celle-là
Code (Text):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets("FeuilleActivationDesMacros").Visible = xlSheetVisible
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
If curSheet.Name <> "FeuilleActivationDesMacros" Then curSheet.Visible = xlSheetVeryHidden
Next curSheet
ThisWorkbook.Save
End Sub
> à l'ouverture, tu cache cette feuille et affiche les autres
Code (Text):
Private Sub Workbook_Open()
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
If curSheet.Name <> "FeuilleActivationDesMacros" Then curSheet.Visible = xlSheetVisible
Next curSheet
ThisWorkbook.Sheets("FeuilleActivationDesMacros").Visible = xlSheetVeryHidden
End Sub
si les macros ne sont pas activées, la seule feuille affichée du classeur sera celle contenant le message "Vous devez activer les macros".
bonjour à tous,
voici le fichier qui me pose problème
merci
cordialement