Amélioration de code VBA

bonjour à tous,

dans mon planning annuel j'ai douze onglets (chaque mois) où j'applique un code à la désactivation de l'onglet pour remettre les filtres à zéro:

j'aimerai mettre ce code dans une macro car je le reproduit douze fois (idée qui vient de l'un d'entre vous )

cependant je ne vois pas comment faire voici le code:

Private Sub Worksheet_Deactivate()

Dim oSh As Worksheet

'pour dé-protéger

For Each oSh In Worksheets

oSh.Unprotect Password:="toto"

Next oSh

'mise a raz des filtres

With Sheets("Septembre")

If .AutoFilterMode = True Then .AutoFilterMode = False

End With

End Sub

je vous remercie d'avance pour votre aide

respectueusement

jérôme

Bonjour,

dans ThisWorkBook tu peur rajouter l'événement "SheetDesactivate" qui s'applique as toutes tes feuilles :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'.... ton code
Sh.Unprotect Password:="toto"
if sh.AutoFilterMode = True Then sh.AutoFilterMode = False

End Sub

comme toujours un grand merci

simple et très très efficace

nickel

respectueusement

jerome

Rechercher des sujets similaires à "amelioration code vba"