Autoriser les filtres apres protection feuilles
tourmarc
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour Chers tous
La macro ci après sert à protéger les formules dans les feuilles de mon classeur
Le problème qui semble se poser est que les filtres automatiques sont impossibles après protection
Comment faire ? Merci
sub protect()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Worksheets
With sh
.Visible = xlSheetVisible
.Unprotect Password:="mdp"
.EnableAutoFilter = True
.EnableOutlining = True
.Cells.Locked = False
On Error Resume Next
.Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True
On Error GoTo 0
.Protect Password:="mdp", _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True, _
UserInterfaceOnly:=True
If .Name <> "Menu" Then
.Visible = xlSheetHidden
End If
End With
Next sh
End Sub
La macro ci après sert à protéger les formules dans les feuilles de mon classeur
Le problème qui semble se poser est que les filtres automatiques sont impossibles après protection
Comment faire ? Merci
sub protect()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Worksheets
With sh
.Visible = xlSheetVisible
.Unprotect Password:="mdp"
.EnableAutoFilter = True
.EnableOutlining = True
.Cells.Locked = False
On Error Resume Next
.Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True
On Error GoTo 0
.Protect Password:="mdp", _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True, _
UserInterfaceOnly:=True
If .Name <> "Menu" Then
.Visible = xlSheetHidden
End If
End With
Next sh
End Sub
A voir également:
- Autoriser les filtres apres protection feuilles
- Comment faire un livret avec des feuilles a4 - Guide
- K9 web protection - Télécharger - Contrôle parental
- Bruler les feuilles de laurier - Guide
- Filtres whatsapp - Accueil - Messagerie instantanée
- Photos filtres gratuit - Télécharger - Retouche d'image
1 réponse
Bonjour,
le code lors de la protection sous VBA est
AllowFiltering:=True
si tu n'as qu'une feuille à traiter, à l'ouverture tu identifie ta feuille et tu saisis la ligne de code
Private Sub Workbook_Open()
Sheets("Feuil 1").Protect Password:="ton mot de passe"
Sheets("Feuil 1").AllowFiltering:=True
et si tu as plusieurs onglets tu fais une boucle du genre
Dim Wb As Worksheet
For Each Wb In Sheets
Wb.Protect Password:="open", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
Next Wb
A+
Mike-31
Je suis responsable de ce que je dis, pas de ce que tu comprends...
le code lors de la protection sous VBA est
AllowFiltering:=True
si tu n'as qu'une feuille à traiter, à l'ouverture tu identifie ta feuille et tu saisis la ligne de code
Private Sub Workbook_Open()
Sheets("Feuil 1").Protect Password:="ton mot de passe"
Sheets("Feuil 1").AllowFiltering:=True
et si tu as plusieurs onglets tu fais une boucle du genre
Dim Wb As Worksheet
For Each Wb In Sheets
Wb.Protect Password:="open", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
Next Wb
A+
Mike-31
Je suis responsable de ce que je dis, pas de ce que tu comprends...