Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb de protection feuille avec macro

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

Swing92

XLDnaute Nouveau
Bjr,


J'ai dans un classeur 6 feuilles que je souhaite protégées globalement ou partiellement.

J'utilise 2 type de code sur 3 feuilles me permettant d'une part sur double click d'obtenir la valeur "oui" ou "non"
Code ci-après :
----
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = True
Lig = Target.Row
col = Target.Column
If col = 7 Or col = 8 Or col = 12 Then
If Lig > 4 And Lig < 75 Then ' ici on limite entre les lignes 4 et 75 les questions
If Cells(Lig, col) = "Oui" Then
Cells(Lig, col) = "Non"
Else
Cells(Lig, col) = "Oui"
End If
End If
End If
End Sub
----------------
ou de masquer des lignes en fonction de la valeur d'une cellule
code ci-après :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim L1 As Integer, L2 As Integer, C1 As Integer, C2 As Integer
C1 = 7
C2 = 14
'Traitement Rubrique sans Sous-rubrique
If UCase(Range("G6")) = "OUI" Then
Else
L1 = 6
Range(Cells(L1, C1 + 1), Cells(L1, C2)).ClearContents
End If

'Traitement Rubrique avec sous-rubrique
If UCase(Range("G7")) = "OUI" Then
L1 = 8
L2 = 14
Rows(L1 & ":" & L2).EntireRow.Hidden = False
Else
L1 = 8
L2 = 14
Rows(L1 & ":" & L2).EntireRow.Hidden = True
Range(Cells(L1 - 1, C1 + 1), Cells(L1 - 1, C2)).ClearContents
Range(Cells(L1, C1), Cells(L2, C2)).ClearContents
End If
Application.EnableEvents = True
End Sub

Je n'arrive pas à inserer dans mon code les instructions me permettant de protéger mes feuilles sans pertuber le fonctionnement du code.

J'ai essayé cette méthode sans succès :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Protect UserInterfaceOnly:=True
End Sub

Au niveau de mon code pour activer :
ActiveSheet.Protect UserInterfaceOnly:=false

en fin de code
ActiveSheet.Protect UserInterfaceOnly:=True

Merci pour votre aide.
 
Re : Pb de protection feuille avec macro

bonjour
sit u protèges tes feuilles en userinerfaceonly ta macro fonctionne sans problème

Mais protèges tes feuilles plutoto à la fermeture de ton classeur et à l'ouverture
 
Re : Pb de protection feuille avec macro

Re-, et en complément de ce que t'a dit Pascal, tu peux modifier ton code pour l'évènement DoubleClick


Pour le reste du code, ne sachant la finalité....
 
Re : Pb de protection feuille avec macro

Bonjour,

Merci pour vos réponses et la reprise du code en plus efficace bhbh.

J'ai modifié mon code initial avec :

Private Sub Workbook_Open()
Sheets("SERVICES").Select
ActiveSheet.Protect UserInterfaceOnly:=True
ActiveWindow.DisplayHeadings = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("SERVICES").Select
ActiveSheet.Protect UserInterfaceOnly:=False
ActiveWindow.DisplayHeadings = True
End Sub

et j'ai ajouté en début de mon code :
ActiveSheet.Protect UserInterfaceOnly:=False

et en fin de code
ActiveSheet.Protect UserInterfaceOnly:=True

J'ai tjrs des pb, ci-joint mes fichiers avec et sans protection si cela peut aider

Merci d'avance.
 

Pièces jointes

Re : Pb de protection feuille avec macro

Re-, et un peu hors sujet.....😱

A priori, tu as des problèmes avec ta barre d'outils Euro

Application.CommandBars("EuroValue").Visible = False

pour ne plus la voir, et ainsi éviter à la masquer, tu vas dans Outils/Macros complémentaires et tu décoches "Outils pour l'Euro"

Ca m'évitera le débogage à chaque ouverture d'un de tes classeurs (chez moi, je n'ai plus cette Barre d'Outils)
 
Re : Pb de protection feuille avec macro

Sorry bhbh

Je n'ai pas eu ce pb chez moi car par défaut cette macro est activée et effectivement elle est désactivée comme tu me le propose cela bug avec mon code ...

Par contre je souhaite masquer la barre d'outils euro uniquement pour ce classeur qui devra être utilisé par différentes personnes et je ne souhaite pas leur supprimer cette barre par défaut.

Merci pour ton aide
 
Re : Pb de protection feuille avec macro

RE-, et toujours un peu hors sujet

remplace ton code par :

 
Re : Pb de protection feuille avec macro

Re-,
comme tu as protégé ta feuille, tu ne peux donc pas modifier son aspect (masquer, afficher des lignes...)
au doubleclic, si tu doublecliques dans la zone autorisée, il faut déprotéger, faire ta manip et ensuite reprotéger...
 
Re : Pb de protection feuille avec macro

Re-,
comme tu as protégé ta feuille, tu ne peux donc pas modifier son aspect (masquer, afficher des lignes...)
au doubleclic, si tu doublecliques dans la zone autorisée, il faut déprotéger, faire ta manip et ensuite reprotéger...

Bah ou je n'ai pas tout suivi mais si tu peux à condition de protéger avec le UserInterfaceOnly à true et non à false
 
- 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
4
Affichages
464
Réponses
16
Affichages
1 K
Réponses
35
Affichages
2 K
Réponses
2
Affichages
331
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
319
Réponses
3
Affichages
670
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…