J'ai un fichier sur lequel j'ai un filtre sur une colonne (Colonne Q) et j'ai souhaité pouvoir défiltrer uniquement les colonnes A a N et laisser le filtre sur la colonne Q pour cela j'ai mis ce code :
VB:
Sub defiltrer()
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=1
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=2
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=3
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=4
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=5
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=6
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=7
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=8
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=9
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=10
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=11
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=12
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=13
End Sub
Mais je pense qu'il peut être optimisé car il est un peu long à enclencher (quelques millisecondes mais on voit le curseur de la souris qui recherche).
Bonsoir @sylvanu, le code me defiltre tout y compris la colonne Q mais je ne souhaite pas toucher au filtre de la colonne Q "mois" justement et enlever les filtres de toutes les autres colonnes
Bonsoir,
Vous avez un compteur de temps accessible par Timer.
Vous commencez par X=Timer et vous finissez par Msgbox Timer-X, il vous donne le temps en secondes.
Vous pouvez tester ceci, une fois dans l'état une seconde fois en mettant la ligne Application.ScreenUpdating en commentaire :
VB:
Sub defiltrer()
T0 = Timer
Application.ScreenUpdating = False
For F = 1 To 13
ActiveSheet.ListObjects("Liste_Demandes").Range.AutoFilter Field:=F
Next F
MsgBox "Temps d'execution : " & Round(1000 * (Timer - T0), 0) & "ms."
End Sub
Attention, ce temps est "personnel", il dépend de votre bécane, de votre processeur, de la version d'XL.... donc n'est valable que pour vous. Par contre il permet aisément de comparer deux solutions. D'où, toujours, la petite précision :