Macro et protection de feuille

Tom32

XLDnaute Occasionnel
Bonjour,

Il y a peu de temps, je vous avais demandé s'il était possible de créer un raccourci renvoyant à une macro qui permet soit de protéger, soit de déprotéger une feuille. On m'a répondu que c'était possible en utilisant ce code :

Code:
Sub de_et_reproteger()
With ActiveSheet
If .ProtectContents Then
.Unprotect ("mot de passe")
Else
.Protect ("mot de passe")
End If
End With
End Sub

Cette macro fonctionne très bien. Souvent, je vérouille ma feuille une 1ère fois manuellement (sans utiliser cette macro), et je choisis les options que je veux (sélectionner les cellules vérouillées, utiliser le filtre automatique, ...).
Cependant, quand je dévérouille ma feuille avec la macro puis que je la revérouillé encore avec la macro, les options que j'avais choisies en premier lieu ne sont plus les mêmes.

Je ne sais pas si je me suis bien fait comprendre, c'est pas facile à expliquer. Si oui quelq'un aurait il une solution à ce problème ??

Merci d'avance
 

TheLio

XLDnaute Accro
Re : Macro et protection de feuille

Salut Tom 32, le forum,
Ci dessous, la liste de tous les arguments que tu peux insérer dans ta macro, Notifie avec True ou False à la fin de chaque aergument.
Dis-nous si ça te conviens
Code:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
        True, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
        :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
        AllowUsingPivotTables:=True
    ActiveSheet.EnableSelection = xlNoSelection
    ActiveSheet.Unprotect
A++ TheLio
 

Tom32

XLDnaute Occasionnel
Re : Macro et protection de feuille

C'est à peu près ça, sauf que je ne peux pas mettre true ou false pour tel ou tel argument dans mon code, parce que je ne protège pas toujours mes feuilles de la même façon!

Alors que je suppose que si je mets dans le code, true ou false pour un argument, ça me mettra toujours ce code, je ne pourrai pas changer.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Macro et protection de feuille

Bonjour Tom32, TheLio, re le forum,


"parce que je ne protège pas toujours mes feuilles de la même façon!"

A part Outils/Protection ou par macro, je ne vois pas beaucoup d'autres façons.....

Regardes le premier fil des cinq discussions similaires en bas de ce post.... (les autres aussi d'ailleurs...)

Il est vrai que c'est souvent plus simple lorsque la question est claire.

A te lire

Jean-Pierre
 

Tom32

XLDnaute Occasionnel
Re : Macro et protection de feuille

Les cinq discussions simillaires ne correspondent pas à ce que je veux.

Pour faire plus simple, est ce possible de faire une macro qui protège une feuille et dans laquelle on puisse choisir les options (sélectionner les cellules verrouillées, ...) sachant que ces options peuvent être différentes d'un classeur à un autre.

Je m'explique : la macro que je voudrais me permetrait de faire ça :
Sur la feuille 1 : je veux pouvoir sélectionner les cellules verrouillées et utiliser le filtre automatique, j'éxécute la macro, ma feuille est protégée avec les options que j'ai choisi.
Su la feuille 2 : je ne veux pas pouvoir sélectionner les cellules verouillées, ni utiliser le filtre, j'éxécute la même macro, ma feuille est protégée avec les options choisies.

En gros, est ce possible de faire une macro qui me propose de choisir mes options ou alors le moyen le plus simple est il encore d'utiliser outil -> protection, ...?

J'espère que c'est un peu plus clair :)

Merci d'avance
 

jeanpierre

Nous a quitté
Repose en paix
Re : Macro et protection de feuille

Re,

Déjà, si tu avais renseigné ta Version d'Excel dans ton profil, ou si tu l'indiquais dans ton ou tes posts, ce serait, sans doute, plus simple....

Sous 2003, tu peux, lors de la protection, cocher ce que tu veux qui fonctionne ensuite,
sous 2000, ce n'est pas possible....

Tu sembles donc être sous 2003, à relire....
Lors de la protection de la feuille 1 tu coches sélectionner les cellules vérouillées, sur la deux, non....

Je n'ai pas 2003, je ne peux donc pas faire d'essai dans le sens macro.
 

Tom32

XLDnaute Occasionnel
Re : Macro et protection de feuille

Code:
Sub de_et_reproteger()
With ActiveSheet
If .ProtectContents Then
.Unprotect ("mot de passe")
Else
.Protect ("mot de passe")
End If
End With
End Sub

Je voudrais insérer dans ce code, le code :
Code:
AllowFiltering:=True
pour que quand j'utilise cette macro, l'option utiliser le filtre soit cochée.
Seulement, comme je ne maîtrise pas trop, je ne sais pas où l'insérer, j'ai déjà essayé, mais sans grand succès.

Merci de m'aider
 

Tom32

XLDnaute Occasionnel
Re : Macro et protection de feuille

J'ai essayer d'insérer le code AllowFiltering = true comme ceci :

Code:
Sub de_et_reproteger()
With ActiveSheet
If .ProtectContents Then
.Unprotect ("mot de passe")
Else
.Protect ("mot de passe"), AllowFiltering = true 
End If
End With
End Sub

mais ça ne fonctionne pas. quand je fais ceci, ça coche la case modifier les objets, pas la case utiliser le filtre, pourquoi ??

Please help me
 
Dernière édition:

Tom32

XLDnaute Occasionnel
Re : Macro et protection de feuille

Quand j'insère le code (dans une macro pour protéger une feuille) :
Code:
AllowFiltering = true

ça me coche la case modifier les objets ! alors que normalement, ça devrait me cocher la case utiliser le filtre automatique non ?

Je sais pas si ce que je dis est bien compréhensible, mais si oui, pouvez m'aider : me dire pourquoi ça coche modifier les objets et quel est le code pour autoriser l'utilisation du filtre.

Merci d'avance
 

Discussions similaires

Réponses
6
Affichages
273
Réponses
5
Affichages
462
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 581
Messages
2 089 910
Membres
104 303
dernier inscrit
Patdec