Verrouillage de feuille avec macro et filtre automatique

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

zozo33

XLDnaute Nouveau
Bonjour,

J'ai un tableau protégé par verrouillage.

Les champs de ce tableau sont modifiables (paramétrage via "OUTILS/PROTECTION/Permettre aux utilisateurs de modifier des plages")

L'extérieur de ce tableau n'est pas modifiable car il y a des colonnes sensibles utilisées par des macros qui ne doivent pas être modifiées par n'importe qui.

Dans les macros il y a en début et fin de chaque opération la fameuse formule :

Sheets("page1").Unprotect "toto"
et Sheets ("page1").Protect "toto"

Or au départ, quand je verrouille la feuille via "OUTILS/PROTECTION/Protéger la feuille" je coche Format de cellule, Trier et Filtre automatique..

Le filtre automatique fonctionne parfaitement jusqu'au lancement de la macro, qui, quand elle reverrouille la feuille ne prend plus en compte mes exemptions, et donc le filtre automatique je fonctionne plus...

Existe-il un procédé dans la macro pour prendre en compte ces exemption lors du reverrouillage ?
 
Re : Verrouillage de feuille avec macro et filtre automatique

Non, ce n'est pas vraiment ça.

En fait j'ai trouvé une formule sur un autre forum dans ce genre :

ActiveSheet.Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True

Et donc je veux que cette ligne fasse comme quand tu coches les exemptions de verrouillage quand tu vas dans "protection", car ActiveSheet.Protect Password:="test", fait seulement une protection généraliste.

La plage de modification des cellules reste vraie après verrouillage par macro, c'est seulement le filtre qui foire.


Je t'envoies le fichier
 
Re : Verrouillage de feuille avec macro et filtre automatique

Ha je comprends mieux, quelque chose comme ça conviendrait mieux je pense pour ajouter une plage modifiable. Tu peux essayer avec :

ActiveSheet.Protection.AllowEditRanges.Add Title:="NomPlage", Range:=Range("RangeIci")
 
Re : Verrouillage de feuille avec macro et filtre automatique

Voilà le fichier après lancement des macros :

on voit bien que le filtre automatique n'est plus actif...
Les cases modifiables le restent, donc ton coup de pouce avec l'autorisation d'une plage ne fait malheureusement rien...
 

Pièces jointes

Dernière édition:
Re : Verrouillage de feuille avec macro et filtre automatique

Alors j'ai trouvé une petite solution sur un autre topic :

Dans le code VBA, dans la rubrique "ThisWorkbook", il faut que tu ajoutes le code suivant :

Private Sub Workbook_Open()

ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect contents:=True, userInterfaceOnly:=True

End Sub

Redémarre ensuite le fichier, pour ma part ça a fonctionné 🙂
 
Re : Verrouillage de feuille avec macro et filtre automatique

Hm je pense que c'est parce que ton fichier est déjà protégé avant l'ouverture. Tu peux ajouter cette ligne pour déprotéger au début du code :

Activesheet.Unprotect Password:="ton mot de passe"
 
Re : Verrouillage de feuille avec macro et filtre automatique

voilà j'ai finalement trouvé en mettant cela dans ThisWorkBook:

Private Sub Workbook_Open()
With Worksheets("derogations")
.EnableAutoFilter = True
.Protect Contents:=True, Password:="toto", UserInterfaceOnly:=True
End With
End Sub


Encore merci !
 
- 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

Retour