Excel VBA : Protection et Deprotection d'une feuille
Fermé
Jovial
-
27 mars 2021 à 19:41
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 - 29 mars 2021 à 14:03
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 - 29 mars 2021 à 14:03
A voir également:
- Excel VBA : Protection et Deprotection d'une feuille
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
27 mars 2021 à 22:16
27 mars 2021 à 22:16
Bonjour,
met-toi en enregistrement de macro, fais les opérations, et tu auras 99% du code.
eric
met-toi en enregistrement de macro, fais les opérations, et tu auras 99% du code.
eric
PHILOU10120
Messages postés
6393
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
9 octobre 2024
810
29 mars 2021 à 14:03
29 mars 2021 à 14:03
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
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