XL 2019 Protection feuille

  • Initiateur de la discussion Initiateur de la discussion Tioneb_h
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tioneb_h

XLDnaute Nouveau
Bonjour,

J'ai mis une protection automatique sur deux feuilles :

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("Feuil1").Protect Password:="1234"
Sheets("Feuil3").Protect Password:="1234"

End Sub

comment est-ce que je peux faire pour ne pas avoir deux fois le message à l'ouverture de mon fichier :

1648625327512.png

Est-ce possible ?

merci d'avance,
Ben
 
Bonjour Tioneb,
Donnez nous plutôt le code que vous utilisez dans Workbook_Open, la macro Workbook_BeforeClose ne s'occupe que de la protection à la fermeture.
bonjour,

je ne suis pas expert 😎 ... voici le code que j'avais trouvé :

Code:
Private Sub Workbook_Open()

Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True
End With
Next I

End Sub

ben
 
Re,
Il suffit de déprotéger la feuille au départ, vous n'aurez même plus de message du tout.
VB:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
    With ActiveWorkbook.Worksheets(I)
        .Unprotect
        .EnableAutoFilter = True
        .EnableOutlining = True
        .Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True
    End With
Next I
End Sub
et s'il y a un mot de passe :
VB:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
    With ActiveWorkbook.Worksheets(I)
        .Unprotect ("1234")
        .EnableAutoFilter = True
        .EnableOutlining = True
        .Protect Password:="1234"
    End With
Next I
End Sub
 
Dernière édition:
Re,
Il suffit de déprotéger la feuille au départ, vous n'aurez même plus de message du tout.
VB:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
    With ActiveWorkbook.Worksheets(I)
        .Unprotect
        .EnableAutoFilter = True
        .EnableOutlining = True
        .Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True
    End With
Next I
End Sub
et s'il y a un mot de passe :
VB:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
    With ActiveWorkbook.Worksheets(I)
        .Unprotect ("1234")
        .EnableAutoFilter = True
        .EnableOutlining = True
        .Protect Password:="1234"
    End With
Next I
End Sub
super merci... ça fonctionne 👍
 
Ca, je ne sais pas faire. je ne sais pas s'il existe un event de déprotection manuel d'une feuille qui pourrait déclencher une macro.
Mais faites un post spécifique sur ce point, peut être qu'un esprit malin trouvera la solution.🙂
 
bonjour le fil
re tioneb_h
le code fourni dans le fil 3 n'explique pas la problématique du fil 1.
la solution de déprotéger la feuille contourne le problème, mais ne le résout pas.
Certainement, a l'ouverture vous devez avoir une macro dans l'événement de la feuille qui veut modifier une cellule protégée. Donc le plus simple, postez un classeur allégé de votre projet, sans données confidentielles.
cdt
galougalou
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
1 K
Retour