macro : désactiver les filtres

noemie45

XLDnaute Occasionnel
Bonjour,

j'ai un fichier excel ou je souhaite qu'à chaque ouverture ou fermeture du fichier, les filtres soient désactivés.
j'ai essayé cette commande mais ça ne fonctionne pas, et biensur je ne comprends pas pourquoi!!
Est ce que vous pouvez m'aider


Private Sub Workbook_Open()
Application.ScreenUpdating = False

With Sheets("Base de données TTA")
If .FilterMode = True Then .ShowAllData
End With

With Sheets("dossiers traités")
If .FilterMode = True Then .ShowAllData
End With

End Sub
 

Pièces jointes

  • Base test1.xls
    126 KB · Affichages: 97
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : macro : désactiver les filtres

Bonjour Noemie45,

Pas très "élégant" mais efficace :

Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
On Error Resume Next
Feuil2.ShowAllData
Feuil3.ShowAllData
Application.ScreenUpdating = True
End Sub
L'erreur ne se produisant que si les filtres affichent toutes les valeurs, l'instruction On Error... permet de continuer sans message ni arrêt de la macro.

Cordialement.
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : macro : désactiver les filtres

le problème c'est que les filtres ne se sont pas enlevés!!
je souhaiterais qu'à l'ouverture toutes les données soient affichées et non filtrées

OK, c'est plus clair.

Pour retirer les filtres, c'est l'instruction AutoFilter qu'il faut utiliser :

Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
On Error Resume Next
Feuil2.Cells.AutoFilter
Feuil3.Cells.AutoFilter
Application.ScreenUpdating = True
End Sub
Cordialement.
 

Si...

XLDnaute Barbatruc
Re : macro : désactiver les filtres

salut

Si... tu connais les lignes :
Code:
Private Sub Workbook_Open()
  Feuil2.[A6].AutoFilter
  Feuil3.[A1].AutoFilter
End Sub

Remarque, il suffit de doubler les lignes pour se retrouver avec les filtres (sans options).
 

Papou-net

XLDnaute Barbatruc
Re : macro : désactiver les filtres

salut

Si... tu connais les lignes :
Code:
Private Sub Workbook_Open()
  Feuil2.[A6].AutoFilter
  Feuil3.[A1].AutoFilter
End Sub

Remarque, il suffit de doubler les lignes pour se retrouver avec les filtres (sans options).

Bonsoir,

Noemie, ne sois pas surprise si je réponds à Si..., suite à une disussion que nous avons eue précédemment.

Aïe, Si..., le hasard fait parfois bien mal les choses !

Ce que je craignais est arrivé : tu as eu connaissance de mon utilisation de On Error Resume Next.

Voilà le cas type où je ne sais pas trop faire autrement, car si on applique AutoFilter alors qu'il n'y a pas de filtre présent dans la feuille ça plante.

Il doit bien y avoir une solution, mais je ne l'ai pas encore trouvée.

Cordialement.
 

Si...

XLDnaute Barbatruc
Re : macro : désactiver les filtres

@Papou-net :D : le problème est que ton code coince au niveau du tableau (avec mon 2010) malgré ...

complément : par contre çà passe ainSi...(avec effet bascule)
Code:
Private Sub Workbook_Open()
  Feuil3.Cells.AutoFilter
  Feuil2.Range("tableau1").AutoFilter
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : macro : désactiver les filtres

Bonsoir à tous


Une autre option
(dans le code de la feuille concernée)
Code:
Private Sub Worksheet_Activate()
Me.AutoFilterMode = False
End Sub
Code:
Private Sub Worksheet_Deactivate()
Me.AutoFilterMode = False
End Sub
 
L

LAMULE

Guest
Re : macro : désactiver les filtres

bonjour.....je rencontre un problème avec le code ci dessous, il fonctionne parfaitement jusqu'au moment ou je protège ma feuille (sans mot de passe) et que j'active le partage de classeur (avec mot de passe) :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.FilterMode Then
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
End If
End If
TRI
Columns("B:mX").Hidden = True
Save
End Sub
 

Statistiques des forums

Discussions
312 378
Messages
2 087 746
Membres
103 658
dernier inscrit
Laurent2017