Problème de protection

  • Initiateur de la discussion Initiateur de la discussion SPEA
  • 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 !

SPEA

XLDnaute Occasionnel
J'ai un probleme avec le code VBA destiné à proteger mon fichier, le classeur comporte des feuilles de calculs et des feuilles de graphiques.

J'ai mis le code suivant:
Code:
Private Sub Workbook_Open()
If Application.UserName = "SPEA" Then
For i = 1 To Worksheets.Count
Worksheets("i").Unprotect Password:="1234"
Next i
End If
Sheets("Menu").Visible = xlSheetVisible
Sheets("Menu").Select
End Sub

ainsi que:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Worksheets.Count
Worksheets("i").Protect Password:="1234"
Next i
End Sub

j'abouti à une erreur. L'idee est de proteger le classeur si ce n'est pas moi qui l'ouvre, avec accés uniquement aux cellules non protegees.
 
Re : Problème de protection

OK Merci Pierrot.

J'ai modifié le code comme suit:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Sheets(i).Protect Password:="1973"
Next i

End Sub

Code:
Private Sub Workbook_Open()

Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
If Application.UserName = "SPEA" Then
For i = 1 To nombre
Sheets(i).Protect Password:="1973"
Next i
End If
Sheets("Menu").Visible = xlSheetVisible
Sheets("Menu").Select

End Sub

Le pb est que quand j'ouvre le classeur la macro me demande le code, je voudrais que le classeur soit déprotégé automatiquement quand c'est mon username.

Par ailleurs je voudrais autoriser uniquement les cellules non verrouillées si c'est un autre utilisateur qui ouvre le fichier:
Sheets(i).EnableSelection = xlUnlockedCells
Sheets(i).Protect Contents:=True, UserInterfaceOnly:=True

Merci
 
Re : Problème de protection

Re

essaye comme ceci :

Code:
Private Sub Workbook_Open()
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
If Application.UserName = "SPEA" Then
For i = 1 To nombre
Sheets(i).UnProtect Password:="1973"
Next i
End If
Sheets("Menu").Visible = xlSheetVisible
Sheets("Menu").Select
End Sub

@+
 
Re : Problème de protection

Re

ok pour la premiere partie, comment puis-je integrer la protection du classeur si ce n'est pas mon username qui est utilisé ?

Je pensais mettre EnableSelection = xlUnlockedCells et Protect Contents:=True, UserInterfaceOnly:=True mais je sais pas comment les integrer dans workbook open.
 
Re : Problème de protection

Re


Code:
Private Sub Workbook_Open()
Dim nombre As Integer
Application.ScreenUpdating = False
nombre = ActiveWorkbook.Sheets.Count
For i = 1 To nombre
If Application.UserName = "SPEA" Then
Sheets(i).Unprotect Password:="1973"
Else
Sheets(i).Protect Password:="1973", userinterfaceonly:=True
End If
Next i
Sheets("Menu").Visible = xlSheetVisible
Sheets("Menu").Select
Application.ScreenUpdating = True
End Sub
 
Re : Problème de protection

Re:

je n'arrive pas à comprendre pourquoi j'ai une erreur avec le code suivant:

Code:
Private Sub Workbook_Open()

Dim nombre As Integer
Application.ScreenUpdating = False
nombre = ActiveWorkbook.Sheets.Count
For i = 1 To nombre
If Application.UserName = "SPEA" Then
Sheets(i).Unprotect Password:="1973"
Else
Sheets(i).Protect Password:="1973", userinterfaceonly:=True
Sheets(i).EnableSelection = xlUnlockedCells
End If
Next i
Sheets("Menu").Visible = xlSheetVisible
Sheets("Menu").Select

Je veux empecher les utilisateurs de selectionner les cellules non protegees, si je protege le classeur j'ai une fenetre qui s'ouvre chaque fois que l'on essaie de modifier des cellules verouillées.
 
Re : Problème de protection

Re

oui, la propriété "EnableSelection" s'applique uniquement aux feuilles de calcul et non au feuilles graphiques. Il me semble que tu possèdes déjà un code pour les distinguer suite à un précédent post.

bonne journée
@+
 
- 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
15
Affichages
784
Réponses
5
Affichages
910
Réponses
10
Affichages
661
Réponses
5
Affichages
573
Réponses
3
Affichages
326
Retour