Filtre et tri sur tableau protégé

Bonjour

,

J'ai un fichier contenant un tableau pour lequel plusieurs colonnes sont déverrouillées et d'autres restent verrouillées.

De ce fait, lorsque je souhaite appliquer un tri et/ou un filtre sur 'une des colonnes du tableau (avec la feuille protégée), cela m'en empêche.

Je souhaite donc trouver une macro VBA qui, à l'application du filtre ou du tri, retire la protection puis la remet par la suite.

J'imagine un code suivant :

Sub Macro1()

    ActiveSheet.Unprotect

' Là on applique le filtre ou le tri

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowSorting:=True, AllowFiltering:=True

End Sub

Merci d'avance si vous parvenez à trouver la bonne formule (ou même si toutefois cela est possible sans VBA)

Sub M_Nicolippy()
     With Sheets("feuil1").Range("A1:D7")
          .Parent.Unprotect 'enlever protection
          .Sort .Range("B1"), xlAscending, Header:=xlYes
          .Parent.Protect
     End With
End Sub

Bonjour BsAlv,

Merci pour le bout de code, mais il ne s'applique que pour une seule colonne. Or, je souhaiterais que le code puisse s'appliquer peu importe la colonne à filtrer/trier dans le tableau, et surtout que ça puisse s'appliquer lorsqu'on utilise la fonction de filtre ou de tri présente dans le tableau en question (sans passer par une macro à activer avec un bouton par exemple).

Pour le coup, je ne sais pas s'il est possible de déprotéger la feuille entre le moment où on clique sur 'OK' et l'application du filtre/tri.

image

Bonjour,

Pas certain d'avoir LA solution ni d'avoir compris la demande mais filtre élaboré peut aider... ( sans macro )

P.

En fait, mon problème vient des cellules verrouillées qui sont comprises dans le tableau (les colonnes avec en-tête rouges). Ces cellules, une fois verrouillées et la feuille protégée, m'empêchent d'appliquer quelque filtre ou tri que ce soit sur le tableau :

137ea959 a174 404d a205 6baae714fca0

Et je ne sais pas s'il est possible de déprotéger temporairement une feuille lors de l'application d'un filtre ou d'un tri.

Sinon, on passera par des boutons permettant d'enlever ou de remettre la protection sur la feuille avant et après chaque filtre/tri, ou on utilisera la fonction correspondante à chaque fois. Mais si on peut laisser le fichier protégé au mieux possible, je prends la solution !
(j'ai des collègues qui ont tendance à toucher aux colonnes verrouillées lorsque la feuille n'est pas protégée... )

@patrick1957 merci pour ton fichier, en revanche je ne comprends pas comment il fonctionne ? Ça utilise des étiquettes de noms, mais de quelle manière ?

re;

copie écran ci jointe...

Pas de zones nommées ( mais on pourrait) juste un filtre élaboré

P.

screenshot171

Merci pour l'explication !

Malheureusement, la procédure oblige à copier le tableau à chaque fois, ce qui n'est pas le but recherché… Merci en tout cas d'avoir apporté cette proposition.

Je pense utiliser des boutons pour protéger et pour retirer la protection avant/après chaque filtre ou tri, ainsi qu'une macro de protection à l'ouverture du fichier (ne sait-on jamais). Ainsi le risque de perdre des données à cause de quelques petits malins sera réduit au possible.

re, salut patrick1957,

je ne pense pas que c'est possible sans enlever la protection, mais on peut créer autant de macros qu'on veut, voir PJ.

Autrement, on a les nouvelles fonctions d'Excel365, dans la cellule I2, cela sans VBA et enlever la protection

Rechercher des sujets similaires à "filtre tri tableau protege"