Tri et protection de feuille

Bonjour à tous !

Alors oui je sais, ce sujet existe déjà des centaines de fois sur le net . Sur ce forum, sur d'autres, bref..

Le truc c'est que j'ai lu toutes les explications/solutions et rien ne me satisfait (enfin rien ne fonctionne )

Voila le problème et ce que j'ai compris de ce que j'ai lu :

J'ai une feuille avec des données.

Je souhaite empêcher la modification des cellules de cette feuille (en gros faire une "lecture seule")

Mais je souhaite qu'on puisse utiliser les fonctions de filtre et tri de chaque colonne.

Que ce soit via l'interface utilisateur ("Révision" > "Protéger la feuille" > cocher "Tri" et "Utiliser le filtre automatique")

Ou en VBA :

worksheet.Protect Password:="monmdp", AllowSorting:=True, AllowFiltering:=True

Résultat : Le filtre est utilisable mais le tri est impossible

Même en essayant de jouer sur la propriété "Verrouillée" des cellules dans la fonction "Worksheet_SelectionChange" :

worksheet.Range(ToutesLesCelulles).Locked = False / True

Je n'arrive pas à avoir le résultat souhaité

De ce que j'ai lu et vu, Excel a vraiment un bug. Mais quelqu'un aurait une idée ou la solution pour contourner ce dernier

Merci d'avance pour l'aide apportée.

Cordialement.

Bonjour Rygga, bonjour le forum,

C'est tu agis par VBA, 1. déprotège, 2. agis, 3. protège

Ou protège avec l'argument UserInterfaceOnly = True

ActiveSheet.Protect , UserInterfaceOnly:=True

Bonjour ThauThème,

Merci de ta réponse.

Alors oui, je comprends l'idée.

Dans mon fichier Excel, j'ai une macro qui permet d'aller chercher un fichier CSV, le trier, et écrire son contenu de façon ordonnée dans la feuille. Des filtres sont ajoutés, des mises en formes conditionnelles aussi, bref tout un tas d'actions.

Et effectivement, avant de commencer, je déprotège la feuille, la feuille est remplie, et je re-protège la feuille. Ca marche très bien et je suis satisfait.

Par contre une fois protéger, c'est l'utilisation des filtres et du tri en particulier qui pose problème.

Comment catch l’événement de tri pour déprotéger, que le tri se fasse puis re-protèger la feuille. Je ne crois pas cela possible (enfin j'ai cherché et je n'ai pas trouvé)

PS: J'ai bien essayé de rajouter l'option UserInterfaceOnly = True et cela ne change rien du tout.

J'espère avoir été plus clair.

Merci encore de toute l'aide apportée.

Bonjour, quand tu protèges manuellement ta feuille ( la première fois ) as -tu pensé à cocher les autorisations ?

nouvelle image 34

Ensuite dans le code ; que l'on protège ou déprotège les options vont rester les mêmes sans que l'on ait besoin de les indiquer.

Bonjour,

Merci de ton aide.

Mais peut-être que quand j'ai écrit dans mon premier message "Que ce soit via l'interface utilisateur ("Révision" > "Protéger la feuille" > cocher "Tri" et "Utiliser le filtre automatique")" j'ai répondu à ta question en avance, non?

Cordialement.

Bonjour,

Merci de ton aide.

Mais peut-être que quand j'ai marqué "Que ce soit via l'interface utilisateur ("Révision" > "Protéger la feuille" > cocher "Tri" et "Utiliser le filtre automatique")" j'ai répondu à ta question en avance, non?

Cordialement.

Oop j'avais un doute ? compte tenu que tu l'indiquais dans une ligne vba alors que c'est inutile si celà à déjà été activé manuellement

la première fois.

Bonjour le fil, bonjour le forum,

Je pensais que tout se faisait par code VBA. Mais il est clair que si après la macro tu dois modifier à la main, la proposition que je t'ai faite ne tient pas. Désolé...

Je viens de tester un tri sur une feuille protégée et effectivement çà ne fonctionne pas alors que l'option à cocher est disponible.

Autrement dit dans l'absolu faudrait détecter la demande de tri dans l'événement de la page pour désactiver la protection et

réactiver ensuite après tri.

Est-ce un événement détectable ?

Bonjour,

Oui c'est bien ce que je dis dans mon second message

Mais hélas même en tapant "vba sort event" sur Google, aucune solution n'est donnée

J'ai l'impression d'être bel et bien bloqué

Bonjour,

Est-ce que cette lacune, c'est à dire l'impossibilité d'utiliser les filtres automatiques sur une feuille Excel protégée n'aurait pas été corrigée sur les versions récentes d'Excel ?

J'utilise une version ancienne d'Excel qui présente cet inconvénient, mais je viens de tester PlanMaker de FreeOffice 2018, version gratuite, qui est peu ou prou un clone "allégé" d'Excel et qui permet ce genre de tri sur une feuille verrouillée et protégée. A tout hasard...

Cordialement.

Re,

Je pense avoir trouvé l'astuce.

En fait il faut avant de protéger :

  • Utiliser l'option "Permettre la modification des plages" ( à droite de Protection )
  • Ajouter la plage du tableau
  • Enfin réactiver la protection Feuille mais ! Décocher la sélection des cellules verrouillées afin d'éviter la saisie.

Les filtres et tri fonctionneront sans possibilité de saisie dans les cellules.

Bonjour Xmenpl !

Merci de tes recherches et de ta réponse.

Alors je viens d'essayer ta solution et oui on se rapproche de la résolution mais malheureusement on en est loin..

C'est tout à fait normal que cela ne satisfasse pas entièrement le besoin car j'ai oublié de vous donner des précisions.

Je m'explique et donne plus de précision sur la feuille pour une meilleure visualisation :

La feuille contient 3000 lignes (ça c'est peu signifiant)

La feuille contient 11 colonnes avec header en première ligne (c'est la que sont placés les filtres)

Toutes les colonnes contiennent du texte (que je ne souhaite pas modifiable) sauf :

La colonne A qui contient un lien hypertexte

La colonne H qui contient une liste de choix / combobox (que je souhaite modifiable)

Le problème est donc qu'avec ta solution de "Décocher la sélection des cellules verrouillées afin d'éviter la saisie." en ayant verrouillé toutes les cellules c'est qu'on ne peut plus cliquer sur les liens hypertexte de la colonne A ni modifier son choix dans la colonne H.

NB : J'ai déverrouillé la colonne H et on peut bien choisir une option donc ça c'est parfait

NB2 : Par contre pour les liens, si les cellules contenant les liens sont verrouillées on ne peut pas cliquer sur le lien et si elles sont déverrouillées on peut modifier le lien..

En espérant avoir été clair pour que vous compreniez la subtilité du problème.

Merci encore de votre aide

Bonjour,

Effectivement les liens hypertexte çà complique le problème….

je vais voir si je trouve une solution complémentaire à cette colonne.

Le but final des filtres et des liens ? c'est de pouvoir faire une recherche et afficher le lien pour l'utilisateur ?

Si oui , ce ne serait pas plus simple un userform pour la selection recherchée et l'affichage du lien trouvé. ?

ainsi l'utilisateur n'aurait pas accés à la feuille en question mais juste un "Formulaire" pour interroger.

Bonjour à tous et bonjour Xmenpl,

Encore merci de ton aide.

Dis moi si tu veux que je te transmette le fichier en question. Il est rempli de données (non confidentielles) et cela pourra peut être t'aider.

Bonjour à tous et bonjour Xmenpl,

Encore merci de ton aide.

Dis moi si tu veux que je te transmette le fichier en question. Il est rempli de données (non confidentielles) et cela pourra peut être t'aider.

Tout dépend de ma question précédente ? si le but final pour l'utilisateur est juste consultatif et que la solution d'un formulaire

(userform) est envisageable alors oui pourquoi pas.

Sinon pas besoin j'ai fais un lien hypertexte de mon coté et je vois aussi que cela ne fonctionne pas.

Bonjour à tous et bonjour Xmenpl,

Tout dépend de ma question précédente ? si le but final pour l'utilisateur est juste consultatif et que la solution d'un formulaire

(userform) est envisageable alors oui pourquoi pas.

Pour te dire vrai, je suis novice sur Excel/VBA donc je ne sais même pas ce qu'est un useform.

Ayant développeur dans d'autres langage j'ai simplement trouvé ça drôle de partir d'un fichier CSV et avec une macro d'import de fichier, de mise en forme, arriver à un affichage "propre" de mes données.

Pour te donner une idée, j'ai joint des images montrant l'entrée et le résultat.

Encore une fois, je peux fournir le fichier Excel.

Merci encore de votre aide.

csv excel
Rechercher des sujets similaires à "tri protection feuille"