J'ai mis les 2 macros suivantes dans Excel pour protéger mes classeurs mais impossible pour les utilisateurs de filtrer le contenu des tableaux ; Comment puis-je résoudre ce problème ?
Sub ProtegeTout()
For Each Feuil In Application.Sheets
Feuil.Protect ("motdepasse")
Next Feuil
End Sub
Sub DeprotegeTout()
Application.ScreenUpdating = False
For Each Feuil In Application.Sheets
Feuil.Unprotect ("motdepasse")
Next Feuil
Application.ScreenUpdating = True
End Sub
Je pense que tu n'as pas bien compris comment intégrer le code VBA et JCGL te l'as mis en forme dans un fichier (avec le même code que j'ai publié) et cela fonctionne parfaitement.
Oui effectivement... Et comment le faire pour l'ensemble des feuilles ? Actuellement uniquement sur la feuil1 !
J'ai bien essayé quelque chose de ce type mais ne fonctionne pas :
For Each Feuil In Application.Sheets
Feuil1.EnableAutoFilter = True
Feuil1.Protect Password:="callas", Contents:=True, UserInterfaceOnly:=True
Next Feuil
OU
For Each Feuil In Application.Sheets
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect Password:="callas", contents:=True, userInterfaceOnly:=True
Next Feuil
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect Password:="callas", Contents:=True, UserInterfaceOnly:=True
End Sub