Excel VBA : Protection et Deprotection d'une feuille

Signaler
-
Messages postés
5547
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
14 avril 2021
-
Bonjour les meilleurs,

Je cherche, au début de l'exécution de mon code, enlever la protection de ma feuille et, à la fin de l'exécution de celui-ci, remettre la protection.

Le bout de code "activesheet.unprotect" et "activesheet.protect" m'offre une possibilité très limitée puisque je souhaiterais aussi, à la protection :
1. Affecter un password
2. Autoriser le Tri et Filtre.

Merci d'avance

3 réponses

Messages postés
23998
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 avril 2021
6 729
Bonjour,

met-toi en enregistrement de macro, fais les opérations, et tu auras 99% du code.
eric
Bonjour et merci les précieuses orientations. J'en prends bonne note.
Messages postés
5547
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
14 avril 2021
593
Bonjour Jovial

Une idée avec le droit à trois essais :
______________________________________________________________________________________
Public varMotDePasse As String
Public varNumTentatives As Byte
__________________________________________
Sub ControleMotDePasse(MotDePasse As String, NumTentatives As Byte)
varMotDePasse = MotDePasse
varNumTentatives = NumTentatives
fmMotDePasse.Show
End Sub
_______________________________________________________________________________________
Sub TestControleMotDePasse()
Dim mavar As String
Call ControleMotDePasse("PhC123", 1)
mavar = Application.UserName
MsgBox "Mot de passe correct." & vbCr & "Poursuite de l'exécution.", vbOKOnly + vbInformation
End Sub
__________________________________________________________________________________________

Sub nom de la macro()


Sheets("NOM FEUILLE").Select
'Oter la protection
ActiveSheet.Unprotect Password:="PhC123"
'fige l'écran
Application.ScreenUpdating = False
'affiche un message dans la barre de statut
Application.StatusBar = "patience S.V.P. traitement en cours ... "

VOTRE MACRO



'Mettre la protection
ActiveSheet.Protect "PhC123"
'libère l'écran
Application.ScreenUpdating = True
'efface le message dans la barre de staut
Application.StatusBar = False

End Sub