Problème de macro

Résolu
playa2 -  
 playa2 -
Bonjour,

J'ai un petit souci avec ma macro qui fonctionne bien mais ne tient pas compte de la désactivation de protection et remise en protection à la fin :
Private Sub Workbook_Open()

ActiveSheet.Unprotect
For Each work In Worksheets
work.Activate
With work
If work.Name <> "Accueil" And work.Name <> "MDG" Then
selection.AutoFilter
selection.AutoFilter Field:=6, Criteria1:="1"
selection.AutoFilter Field:=4, Criteria1:="=A", Operator:=xlOr, _
Criteria2:="<>0"
End If
End With
Next work
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowSorting:=True, _
AllowFiltering:=True

End Sub

En effet, je reçois un message d'erreur 1004 me demandant d'enlever la protection de la feuille....

y a t'il une erreur dans ma macro ???

Merci de votre aide.

2 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Il faut mettre cette ligne avant de remettre la protection

    llowFiltering = True

    Je ne suis pas anglophone mais je pense que c'est le problème
    1
  2. playa2
     
    Merci pour la réponse mais il faut également déplacer la demande de désactivation de la protection de feuille de cette façon :

    For Each work In Worksheets
    work.Activate
    With work
    If work.Name <> "Accueil" And work.Name <> "MDG" Then
    Range("AK1").Select
    ActiveSheet.Unprotect
    selection.AutoFilter Field:=6, Criteria1:="1"
    selection.AutoFilter Field:=4, Criteria1:="=A", Operator:=xlOr, _
    Criteria2:="<>0"
    End If
    End With
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
    , AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowSorting:=True, _
    AllowFiltering:=True
    Next work
    End Sub

    Maintenant ça fonctionne bien !!!
    0