utiliser le filtre automatique et verrouiller des cellules excel 2003

pat40 pat40
86 contributions
Membre depuis le 04/03/2011
Envoyé le 18/02/2012 à 18:08


Bonjour,

sur une feuille "BASE", dont je souhaite verrouiller le format des lignes d'entêtes , je masque trie etc .. les colonnes et les cellules avec une macro qui fait appel au filtre automatique

code
Sub SUIVIPV2012()
'
' SUIVIPV2012 Macro
' Macro enregistrée le 17/02/2012 par DANGOUMAU
'
Worksheets("Base").Select
Range("A1").AutoFilter Field:=5, Criteria1:="<>"
Range("A1").AutoFilter Field:=4, Criteria1:="<>*ALIGNEMENT*"
Cells.Select
Range("A1").End(xlDown).Sort Key1:=Range("CC2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlAscending, Key3:=Range("M2"), Order3:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
Range("A:B,F:L,W:AJ,AM:BG,BI:CB,CD:DK").EntireColumn.Hidden = True
End Sub

Avec une autre macro je rétabli la feuille avec toutes les colonnes
code:
Sub TOUTAFFICHER2012()
' TOUTAFFICHER2012 Macro
' Macro enregistrée le 15/02/2012 par cg40
'
Worksheets("BASE").Select
Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").End(xlDown).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Worksheets("BASE").AutoFilterMode = False
Range("A1").End(xlDown).Offset(1, 0).Select
End Sub

Lorsque je protège ma feuille "BASE"
1 je déverrouille toutes les cellules de la feuille
2 je verrouille les cellules de la ligne d'entête
3 je mets un mot de passe après avoir autoriser le tri le filtre automatique etc..

lorsque j'actionne la macro SUIVIPV2012 j'ai message d'erreur de vb
Erreur d’exécution '1004'
Vous ne pouvez exécuter cette commande sur une feuille protégée. Pour utiliser cette commande vous devez ôter la protection de la feuille.....

Je souhaite ne pas faire cette manip à chaque fois j'ai donc cherche une solution mais en vain pour l'instant..

Alors merci de votre aide ...




Mytå_Qc Mytå_Qc
30 contributions
Membre depuis le 06/08/2010
Envoyé le 18/02/2012 à 19:22 Modifié par Mytå_Qc


Bonjour,

Il faut protéger la feuille en utilisant UserInterfaceOnly

Sub ProtegeFeuillle()
Worksheets("Base").Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowSorting:=True, _
AllowFiltering:=True
End Sub


Mytå


pat40 pat40
86 contributions
Membre depuis le 04/03/2011
Envoyé le 18/02/2012 à 21:52


Bonjour,

Merci étant plus que jeune sur VBA
je ai mis le code sur la feuille base mais cela ne fonctionne toujours pas, même erreur à moins que je ne mette pas le code au bon endroit
j'ai essayé sur thisworkbook m^me topo

merci de m'indiquer mon erreur



Mytå_Qc Mytå_Qc
30 contributions
Membre depuis le 06/08/2010
Envoyé le 18/02/2012 à 22:33 Modifié par Mytå_Qc


Bonjour,

Tu places le code fourni dans un module, et tu lances la macro ProtegeFeuillle.

Tes macros SUIVIPV2012 et TOUTAFFICHER2012 devraient alors fonctionner.

Mytå_Qc



Mytå_Qc Mytå_Qc
30 contributions
Membre depuis le 06/08/2010
Envoyé le 18/02/2012 à 22:36


Re le forum

Le plus simple serait de la lancer à l'ouverture du fichier


Private Sub Workbook_Open()
Worksheets("Base").Protect _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True, _
AllowSorting:=True, _
AllowFiltering:=True
End Sub


Mytå_Qc


pat40 pat40
86 contributions
Membre depuis le 04/03/2011
Envoyé le 19/02/2012 à 09:11


Bonjour,
Je te remercie les deux solutions fonctionnent
mon pb est résolu.... jusqu'au prochain

merci
[8D]

Mytå_Qc Mytå_Qc
30 contributions
Membre depuis le 06/08/2010
Envoyé le 19/02/2012 à 16:30


Bonjour,

Au plaisir de t'aider de nouveau dans ton apprentissage du VBA

Mytå_Qc



Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum