Autoriser les tris sur une feuille protégée

sapheron

XLDnaute Junior
Bonjour,

Ma question peu être sembler bête mais tant pis. J'ai un classeur protégé avec des filtres automatiques. Cette feuille refuse les tris quand elle est protégée. Et même si je coche cache autorisation de modification, donc celle qui autorise les filtre et les tris également. Il m'affiche un message comme quoi ma feuille est protégé.

J'aimerais donc pouvoir effectuer un tri sans avoir à enlever la protection à chaque fois.

En vous remerciant :)
 

Pierrot93

XLDnaute Barbatruc
Re : Autoriser les tris sur une feuille protégée

Bonjour,

ce que dit l'aide vba :
AllowSorting Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'effectuer un tri dans une feuille de calcul protégée. Toutes les cellules de la plage à trier doivent être déverrouillées ou non protégées. La valeur par défaut est False.
toutes les cellules sont bien dévérrouillées ?

bonne journée
@+
 

sapheron

XLDnaute Junior
Re : Autoriser les tris sur une feuille protégée

Bonjour Pierrot et merci de me répondre aussi vite,

Non j'ai protégé la feuille pour que la personne qui utilisera mon fichier plus tard, ne s'amuse pas à écrire des valeurs dans des cellules qui accueillent des formules. Après il y a peu être un moyen pour éviter cela sans passer par la protection de feuille mais dans ce cas la je le connais pas :)

Mais je comprend pas l'intérêt dans ce cas de protéger une feuille si c'est pour avoir ses cellules déverrouillée :/ Bon je sens que tu vas me citer une 50 bonne raison mais bon xD
 

Pierrot93

XLDnaute Barbatruc
Re : Autoriser les tris sur une feuille protégée

Re,

essaye ceci, à placer dans le module de la feuille concernée, click droit sur l'onglet => visualiser le code et tu colles :
Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Row = 1 Then Feuil1.Unprotect "toto" Else Feuil1.Protect "toto"
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Autoriser les tris sur une feuille protégée

Re,

si plusieurs cellules de sélectionnées, on ne fait rien....

il serait peut être préférable de protéger avant de sortir....

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Feuil1.Protect "toto": Exit Sub
If Target.Row = 1 Then Feuil1.Unprotect "toto" Else Feuil1.Protect "toto"
End Sub
 

Guy_M

XLDnaute Occasionnel
Re : Autoriser les tris sur une feuille protégée

Bonjour,

L'idée de la première ligne qui déverrouille la feuille pour pouvoir trier est géniale. Merci beaucoup.

A la place de "Feuil1", je propose d'utiliser "Me" qui référence la feuille pour laquelle la procédure évènementielle est exécutée. Cela permet de copier la procédure dans n'importe quelle feuille sans avoir à modifier "Feuil1" pour que ça fonctionne.

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then
    Me.Protect "toto"
    Exit Sub
End If
If Target.Row = 1 Then
    Me.Unprotect "toto"
Else
    Me.Protect "toto"
End If
End Sub

En espérant que cela sera utile.
A bientôt
Guy
 

Discussions similaires

Réponses
2
Affichages
1 K

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 188
dernier inscrit
evebar