XL 2010 créer une alerte si la feuille n'est pas protégée

chajmi

XLDnaute Occasionnel
Bonjour à tous,

Je travaille sur un fichier pour le travail, sur lequel interviennent d'autres personnes.
Mon fichier est bien entendu protégé par mot de passe.
En fonction des modifications que je fais sur ce fichier, je passe régulièrement du mode "protégé" à "déprotégé".

Il m'est arrivé plusieurs fois d'oublier de remettre la protection et je souhaiterais optimiser mon système :
1/ Je voudrais que toutes les feuilles soit protégées à chaque fermeture du classeur (ça ce serait vraiment super)
2/ Avoir un message visuel dans une cellule, indiquant en permanence l'état de la feuille : Protégée ou Déprotégée

Est ce que quelqu'un se sent de me concocter ça, parce que moi je ne me suis pas à la hauteur.

Merci d'avance à ceux qui se pencheront sur mon sujet.
salutations
 

chajmi

XLDnaute Occasionnel
Assez fier de moi, Pour le petit 1, j'ai essayé ceci et ça fonctionne :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'-------------------------------------------------------------
' Proteger toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Worksheets(i).Protect Password:="xxx"
Next i
'Proteger le classeur
ActiveWorkbook.Protect "xxx", True, True
'-------------------------------------------------------------
End Sub

Merci d'étudier mon petit 2
 

combory

XLDnaute Junior
Assez fier de moi, Pour le petit 1, j'ai essayé ceci et ça fonctionne :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'-------------------------------------------------------------
' Proteger toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Worksheets(i).Protect Password:="xxx"
Next i
'Proteger le classeur
ActiveWorkbook.Protect "xxx", True, True
'-------------------------------------------------------------
End Sub

Merci d'étudier mon petit 2

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.ProtectContents = True Then
Range("A1") = "Protégée"
Else
Range("A1") = "Déprotégée"
End If
End Sub

Il faut penser à retirer la protection de la cellule A1 de chaque feuille concernée
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16