trier sans oter la protection de la feuille

A

Anne Pasteur

Guest
Bonjour,


je suis en train de mettre en place un tableau de suivi budgetaire qui sera utilise par plusieurs personnes.

Nous voudrions que les feuilles de ce tableau soient protegees par un mot de passe et que les utilisateurs ne puissent jamais deverouiller.

Le probleme c est que lorsque la feuille est protegee nous ne pouvons plus faire de tri ..... et c est tres genant.

En verouillant j ai bien cliquer sur "autorise l utilisateur de cette feuille a : tri" mais ca ne fonctionne pas.
Pour etre plus precise, j ai acces au tri (en gras alors qu avant il etait invisible) mais quand je clique dessus, je recois le message d erreur de la protection de la feuille.

J espere que vous avez compris mon probleme.

Merci beaucoup

Anne
 
L

léa

Guest
Bonjour Anne,

as tu pensé à cocher l'option "Tri" quand tu as protégé ta feuille
C'est à dire qu'en cochant cette option tu autoriseras tous les utilisateurs de cette feuille à effectuer des tris
Bon courage
Léa
 
@

@+Thierry

Guest
Bonjour Anne, le Forum

Il faudrait pour que cette Propriété "AllowSorting" qui, soit dit en passant, n'existe que depuis Excel 2002 (XP) que les cellules à triéer soit dévérouillées... Par conséquent ça ne semble pas compliant avec tes exigences...

Je ne vois qu'une solution par VBA, qui déprotègerait temporairement la feuille au moment du "Sort"... et la reprotèrait ensuite avec Password... Regarde d'autre fil de la journée on parle justement de ceci.

Bon Courage
@+Thierry
 
L

léa

Guest
Salut Thierry,

Autant pour moi, j'ai oublié qu'avant Excel 2002 (XP) il y avait par exemple Excel 97 encore couramment utilisé.
Donc si Anne ne possède pas Excel 2002 (XP) la meilleure solution est bien celle qui consiste à écrire un code en VBA, ce que je fais d'ailleurs en ce qui me concerne

@+
Léa
 
@

@+Thierry

Guest
Re-bonjour Anne, Léa

En fait, ce que je voulais dire c'est surtout que cette Propriété "AllowSorting" ne peut être applicable que sur des cellules Non-Vérouillées, ce qui est le problème d'Anne.

Extrait de l'aide :
AllowSorting Property
Sorting can only be performed on unlocked or unprotected cells in a protected worksheet

Par conséquent seule une Macro pourra te sortir de cette situation en gardant les Gardant la Feuille Protégée et les Cellules Vérouillées

Voici un exemple :

Sub UnprotectSortProtect()
Dim MDP As String

MDP = "ZAZA"

ActiveSheet.Unprotect MDP
Range("A1:A16").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
ActiveSheet.Protect Password:=MDP
End Sub


En espérant que celà pourra t'aider, bonne soirée
@+Thierry
 
A

Anne Pasteur

Guest
Merci pour votre aide, mais la c est trop complique pour moi, tant pis ....
on autorisera la deprotection !
Par contre est ce que vous savez si c est possible d avoir un message du
style : "ATTENTION LA FEUILLE N EST PLUS PROTEGEE " ?

Merci et ensuite je m arrete la !

Anne
 
L

léa

Guest
Bonjour Anne,

Mais non ce n'est pas compliqué. Le code que Thierry t'a fourni te permet de déprotéger la feuille active
"ActiveSheet.Unprotect MDP"
le temps que l'utilisateur fasse le tri voulu
"Range("A1:A16").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1"
tri des cellules A& à A16 dans l'ordre croissant
De plus elle a la qualité de reprotéger directement la feuille dès le tri terminé
"ActiveSheet.Protect Password:=MDP"
et ce qui est formidable c'est que tout ceci se fait sans que l'utilisateur d'une part ne s'en aperçoive et d'autre part ne puisse avoir accès directement à la feuille pendant le temps de sa "déprotection"
Petite remarque : Thierry t'a proposé un mot de passe (MDP) que tu devras choisir toi même quand tu protègeras ta feuille et que tu préciseras dans ce bout de code
Ici le mot de passe choisi par Thierry est "Zaza" (tout le monde sait que thierry est un fervent admirateur de la grande Zaza)

et enfin pour pouvoir utiliser cette macro tu peux par exemple créer un bouton dans ta feuille, bouton auquel tu donnera par exemple le nom suivant "TRI" et auquel tu coleras le code de Thierry
Pour ce faire une fois le bouton créé, tu cliques bouton droit sur le bouton, tu choisis "visualiser le code" et tu colles le code de Thierry entre les lignes

Private Sub CommandButton1_Click()
et
End Sub

à ta disposition
Léa
 

Discussions similaires