Damn...
On peut faire ça ?!
EDIT : Ah ben non. La proposition suivante permet de ne pas protéger le classeur entier, semble donc plus flexible et ne demande à l'utilisateur qu'un clic et une saisie de mot de passe ^^ Par contre s'il change de feuille, il est marron : doit retaper son pass. Si jamais, on peut laisser la feuille déprotéger pendant X minutes pour permettre de naviguer facilement
Ben du coup, je poste quand même..
Option Explicit
Private Sub Worksheet_Activate()
Static BlockedWs As String, ws As Worksheet
Dim n As Integer
Dim Pass As String
If ws Is Nothing Then Set ws = ActiveSheet
If BlockedWs <> "OK2" Then
ws.Visible = False
Pass = InputBox("Please enter password")
If Pass = "blabla" Then
ws.Visible = xlSheetVisible
MsgBox "Access granted ! Ouaiii"
BlockedWs = "OK2"
ws.Activate
Else
MsgBox "Pass non valide !"
BlockedWs = "KO"
ws.Visible = True
For n = 1 To Sheets.Count
If Not ws.Name = Sheets(n).Name Then
Sheets(n).Activate
Exit For
End If
Next n
Exit Sub
End If
Else
BlockedWs = ""
Exit Sub
End If
End Sub
(J'ai l'impression de m'être bien fait chier pour rien )
EDIT : Mea culpa, j'avais pas envoyé le bon code. C'est réctifié