XL 2016 Problème à cause de protection de feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

scoubidou35

XLDnaute Occasionnel
Bonjour à tous,
J'ai un problème avec mon fichier si je protège une feuille ou plus je ne peux plus utiliser le filtre que j'ai sur la feuille 'sommaire'. J'ai tenté avec des unprotect et protect dans le code de la page sommaire et dans la page protégé mais rien ne change...j'obtiens toujours un message de debogage pour la page sommaire
Merci d'avance.
 

Pièces jointes

Solution
Autre solution avec UserInterfaceOnly :
VB:
Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    With Sheets(Feuille)
        .Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
        If Len(Année) Then
            .ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
        Else
            .ListObjects(Tableau).Range.AutoFilter Field:=1
        End If
    End With
End Sub
On évite ainsi un saut d'écran.
Bonjour,

Elémentaire :
VB:
Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    Sheets(Feuille).Unprotect "toto" 'mot de passe à adapter
    If Len(Année) > 0 Then
        Sheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
    Else
        Sheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1
    End If
    Sheets(Feuille).Protect "toto" 'mot de passe à adapter
End Sub
A+
 

Pièces jointes

Bonjour,

Elémentaire :
VB:
Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    Sheets(Feuille).Unprotect "toto" 'mot de passe à adapter
    If Len(Année) > 0 Then
        Sheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
    Else
        Sheets(Feuille).ListObjects(Tableau).Range.AutoFilter Field:=1
    End If
    Sheets(Feuille).Protect "toto" 'mot de passe à adapter
End Sub
A+
Merci beaucoup job75,
Ca fonctionne en fait j'utilisais pas la bonne commande car vous utilisez Sheets(Feuille) alors que moi j'utilisai ThisWorkbook.Worksheets (Feuille) mais a priori je n'ai toujours pas compris la différence entre ces deux commandes.
Merci et bonne journée
 
Autre solution avec UserInterfaceOnly :
VB:
Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    With Sheets(Feuille)
        .Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
        If Len(Année) Then
            .ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
        Else
            .ListObjects(Tableau).Range.AutoFilter Field:=1
        End If
    End With
End Sub
On évite ainsi un saut d'écran.
 

Pièces jointes

Mer
Autre solution avec UserInterfaceOnly :
VB:
Private Sub FiltreTableau(Feuille As String, Tableau As String, Année As String)
    With Sheets(Feuille)
        .Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
        If Len(Année) Then
            .ListObjects(Tableau).Range.AutoFilter Field:=1, Criteria1:=Année
        Else
            .ListObjects(Tableau).Range.AutoFilter Field:=1
        End If
    End With
End Sub
On évite ainsi un saut d'écran.
Merci job75
En effet j'avais un saut d'écran j'ai essayé avec Application.ScreenUpdating = False c'était un peu mieux mais on voyait quand même un saut d'écran et la avec le nouveau code plus rien...super!!!!
Merci encore.
 
Bonjour scoubidou35, job75, le forum

@scoubidou35 , vous avez essayé de protéger vos feuilles en autorisant le filtre automatique dans chaque feuille ?

Bien cordialement, @+
Sans titre.png
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
339
Réponses
17
Affichages
481
Retour