Chris401
XLDnaute Accro
Bonsoir
Dans le fichier joint, plusieurs feuilles construites sur une base identique.
A l'activation d'une feuille, une Inputbox demande un MDP ; selon le MDP inscrit, certaines colonnes s'affichent.
Et à la fermeture du classeur
Tout ça fonctionne mais ce que je voudrais modifier c'est que si le MDP est faux (Col = 0) l'utilisateur puisse entrer un nouveau MDP. Pour l'instant on est obligé de quitter la feuille en cours et d'y revenir.
P.S. : toute optimisation du code actuel est la bienvenue.
Merci
Cordialement
Chris
Dans le fichier joint, plusieurs feuilles construites sur une base identique.
A l'activation d'une feuille, une Inputbox demande un MDP ; selon le MDP inscrit, certaines colonnes s'affichent.
Code:
Const MDP As String = "Admin"
Const Masque1 As String = "MDP1"
Const Masque2 As String = "MDP2"
Const Masque3 As String = "MDP3"
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Unprotect MDP
Range("F1:IV1").Columns.Hidden = True
Application.ScreenUpdating = False
Dim Col As Byte
rep = InputBox("Veuillez Saisir Votre Mot de Passe", "MOT DE PASSE", "mot de passe")
If rep = "" Then
ActiveSheet.Protect MDP
End
End If
If rep = MDP Then
Range("F1:Q1").Columns.Hidden = False
Else
If rep = Masque1 Then Col = 6
If rep = Masque2 Then Col = 10
If rep = Masque3 Then Col = 14
If Col = 0 Then
MsgBox "Erreur Mot de Passe"
ActiveSheet.Protect MDP
End
End If
Range(Cells(1, Col), Cells(1, Col + 3)).Columns.Hidden = False
End If
ActiveSheet.Protect MDP
End Sub
Et à la fermeture du classeur
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveSheet.Unprotect MDP
Range("F1:IV1").Columns.Hidden = True
End Sub
Tout ça fonctionne mais ce que je voudrais modifier c'est que si le MDP est faux (Col = 0) l'utilisateur puisse entrer un nouveau MDP. Pour l'instant on est obligé de quitter la feuille en cours et d'y revenir.
P.S. : toute optimisation du code actuel est la bienvenue.
Merci
Cordialement
Chris