afin de rendre une feuille visible par mot de passe j'utilise les deux macros suivantes
Sub déprot()
'
ActiveWorkbook.Unprotect
Sheets("Feuil3").Visible = True
Sheets("Feuil3").Select
End Sub
Sub prot()
'
ActiveWindow.SelectedSheets.Visible = False
ActiveWorkbook.Protect (["ml"])
Sheets("Feuil1").Select
End Sub
c'est la première qui me pose problème à cause du mot de passe
existe t il un code qui permettrait de proposer d'entrer le mot de passe lorsqu'on active cette macro ?
Sub déprot()
'
Dim mdp
mdp = InputBox("Mot de passe : ")
ActiveWorkbook.Unprotect (mdp)
Sheets("Feuil3").Visible = True
Sheets("Feuil3").Select
End Sub
merci pour cette réponse, ça fonctionne bien avec le bon mot de passe mais quand on rentre un faux mdp il propose un accès au code vba et ça, ça m"arrange pas trop
tu n'aurais pas un petit code qui annule simplement la macro en cas de mauvais code ?
Sub déprot()
'
Dim mdp
On Error GoTo ErrorHandler
mdp = InputBox("Mot de passe : ")
ActiveWorkbook.Unprotect (mdp)
Sheets("Feuil3").Visible = True
Sheets("Feuil3").Select
ErrorHandler:
msgbox("Le mot de passe entré est erronné")
exit sub
End Sub
De plus, protège ton code VBA par un mot de passe. Dans VBA clique sur outils, propriétés VBA puis sur l'onglet protection (je traduis car mon excel est en anglais). Voilà amuse toi
génial merci à vous deux
j'ai juste ajouté un Exit Sub avant le ErrorHandler: pour ne pas afficher la fenêtre d'erreur de mdp quand celui ci est bon
je penserai aussi à protéger le code VBA