Une autorisation de filtre qui disparait sur une feuille protégée

Bonjour à tous,

Je suis en train de créer un fichier pour permettre à mon personnel de voir où ils en sont dans leurs qualifications, leurs autorisations etc; tout ceci sous la forme d'un tableau et sans qu'ils ne risquent risque de toucher et modifier ce tableau [spoil]oui nous sommes de gros sagouins [spoil].

Tout d'abord je tiens à préciser que je suis un débutant sur Excel et encore plus en VBA. Je m'aide donc de ce que je trouve sur Internet, Youtube ou ChatGpT

J'ai donc créé un userform pour que la création d'une nouvelle ligne du tableau et plus tard sa modification ne puisse se faire que via le userform

Il est possible cependant d'accéder au tableau et soit trouver une personne en particulier, d'appliquer des filtres

J'applique donc la protection de la feuille avec un mot de passe et en autorisant la sélection des cellules le filtre automatique et le tri via l'onglet " Protéger la feuille "

-> Si j'ôte la protection et que je veux la remettre via l'onglet, les filtres restent présent .

Si j'utilise mon Userform .( Il y a déjà un premier mot de passe pour faire apparaitre le userform, et ôter la protection de la feuille )

Sub NewPersonnel()
Dim password As String

password = InputBox(" Enter your Password ")
If password = "1234" Then
Worksheets("Personnel").Unprotect "1234" ' enlève la protection de la feuille "Personnel"
UserForm2.Show ' apparition du userform
Else
MsgBox " Wrong Password ", vbExclamation
End If

End Sub

A la fermeture le mot de passe est automatiquement appliqué mais les filtres et le tri ne sont plus autorisés, il ne reste que les filtres de selection de cellules

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Worksheets("Personnel").Protect "1234" ' remise automatique du mot de passe à la fermeture du userform
End Sub

J'ai tenté d'ajouter un

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        Dim ws As Worksheet
        Set ws = ThisWorkbook.Worksheets("Personnel")

        ' Déverrouillage de la feuille avec le mot de passe
        ws.Unprotect "1234"

        ' Rétablir les autorisations de filtre automatique
        ws.EnableAutoFilter = True

        ' Réenclencher la protection si nécessaire
         ws.Protect "1234"
    End If
End Sub

mais pas mieux.

Comment remettre le filtre automatique et le tri ?

merci d'avance de vos réponses .

Bonjour,

A la fermeture le mot de passe est automatiquement appliqué mais les filtres et le tri ne sont plus autorisés, il ne reste que les filtres de selection de cellules

1. pour le mot de passe, essayez plutôt comme ceci dans le code

Worksheets("Personnel").Protect "1234", AllowSorting:=True, AllowFiltering:=True

2. Pour le filtre auto : voyez le IF ..... END IF au point 2 dans ce lien --> https://forum.excel-pratique.com/s/goto/1157750

Si ok pensez à

Cordialement

Bonjour à tous,

tant que tu y es tu pourrais ajouter , UserInterfaceOnly:=True aux paramètres.
La très grosse majorité des interdictions ne sera appliquée qu'aux utilisateurs, pas au macros.
Si ton action fait partie de celles-ci, plus besoin de déprotéger la feuille.
eric

Worksheets("Personnel").Protect "1234", AllowSorting:=True, AllowFiltering:=True

Ca fonctionne effectivement . Cependant je remarque que dans le filtrage de mes colonnes de mon tableau je ne peux pas trier par ordre alpahabétique A-Z ou Z-A

Je reste toujours bloqué par le fait de ne pas pouvoir effectuer de tri par ordre alphabétique de A à Z et de Z à A tout de même malgré le allowsorting sur True.

Pourquoi ?

Cependant je remarque que dans le filtrage de mes colonnes de mon tableau je ne peux pas trier par ordre alpahabétique A-Z ou Z-A

Oui exact. Si vous avez fait un filtrage via le filtre auto, vous ne pouvez pas trier les données ensuite
Vous devez défiltrer les données puis trier ou alors d'abord trier avant de filtrer

En fait je voudrais que en dehors de mon userform le tableau se limite à accéder au filtre et au tri

Quand vous écrivez en dehors de mon userform, vous voulez dire que l'USF n'est plus affichée à l'écran ?

Pour le tri on peut envisager d'autres possibilités via code. Mais il faudrait que je vois comment est votre tableau

Rechercher des sujets similaires à "autorisation filtre qui disparait feuille protegee"