Verrouillage de feuille avec macro et filtre automatique

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 ?
 

mintri

XLDnaute Occasionnel
Re : Verrouillage de feuille avec macro et filtre automatique

Ha je pense avoir compris ton problème, tu peux peut-être essayer avec ce code adapté à ton tableau pour déprotéger des cellules :

Range(tableau).Locked = False
 

zozo33

XLDnaute Nouveau
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
 

mintri

XLDnaute Occasionnel
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")
 

zozo33

XLDnaute Nouveau
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

  • dérogations V6.xls
    363.5 KB · Affichages: 111
Dernière édition:

mintri

XLDnaute Occasionnel
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é :)
 

mintri

XLDnaute Occasionnel
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"
 

mintri

XLDnaute Occasionnel
Re : Verrouillage de feuille avec macro et filtre automatique

Je te joins mon fichier, il a l'air de marcher du coup, je te laisse jeter un oeil :)

Par contre j'ai eu plusieurs messages d'erreur à l'ouverture, je me demande si le fichier n'est pas corrompu...
 

Pièces jointes

  • dérogations V6 (1).xls
    207 KB · Affichages: 135

zozo33

XLDnaute Nouveau
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 !
 

Discussions similaires

Réponses
15
Affichages
724
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 103
Messages
2 085 306
Membres
102 859
dernier inscrit
Diallokass