OVH Cloud OVH Cloud

filtre automatique inactif

3 réponses
Avatar
aurelie
Bonjour à tous,
Avant de lancer une de mes macros, j'aimerai m'assurer qu'aucun filtre
automatique de ma feuille n'est activé (donc qu'on peut voir l'ensemble des
lignes!)
Je pensais que la commande Hidden suffirait mais ce n'est apparement pas le
cas.

Savez vous comment faire?

Merci d'avance pour votre aide

Aurélie

3 réponses

Avatar
isabelle
bonjour Aurélie,

With Worksheets("Feuil1")
If .AutoFilterMode Then
For i = 1 To 3
If .AutoFilter.Filters(i).On Then Range("A1").AutoFilter Field:=i
Next
End If
End With

isabelle

Bonjour à tous,
Avant de lancer une de mes macros, j'aimerai m'assurer qu'aucun filtre
automatique de ma feuille n'est activé (donc qu'on peut voir l'ensemble des
lignes!)
Je pensais que la commande Hidden suffirait mais ce n'est apparement pas le
cas.

Savez vous comment faire?

Merci d'avance pour votre aide

Aurélie




Avatar
michdenis
Bonjour Aurelie,

Cette procédure va te dire si au moins une des colonnes de la plage de cellules est filtré et si oui, elle va enlever le filtre.

La présence des boutons du filtre n'empêche pas la lancée d'un nouveau filtre si un filtre particulier n'est pas en application.

'---------------------------------
Sub test1()

On Error Resume Next

With Worksheets("Feuil1")
If Not .AutoFilter.Range Is Nothing Then
For Each c In .AutoFilter.Range
If .AutoFilter.Filters(c.Column).On = True Then
MsgBox "Un filtre est appliquée sur " & _
"la colonne : " & c.Column
c.AutoFilter
Exit Sub
End If
Next
End If
End With

End Sub
'---------------------------------


Salutations!



"aurelie" a écrit dans le message de news:
Bonjour à tous,
Avant de lancer une de mes macros, j'aimerai m'assurer qu'aucun filtre
automatique de ma feuille n'est activé (donc qu'on peut voir l'ensemble des
lignes!)
Je pensais que la commande Hidden suffirait mais ce n'est apparement pas le
cas.

Savez vous comment faire?

Merci d'avance pour votre aide

Aurélie
Avatar
aurelie
Merci bcp Isabelle!
c'est tout à fait ce que je souhaitais!
Bonne journée


bonjour Aurélie,

With Worksheets("Feuil1")
If .AutoFilterMode Then
For i = 1 To 3
If .AutoFilter.Filters(i).On Then Range("A1").AutoFilter Field:=i
Next
End If
End With

isabelle

Bonjour à tous,
Avant de lancer une de mes macros, j'aimerai m'assurer qu'aucun filtre
automatique de ma feuille n'est activé (donc qu'on peut voir l'ensemble des
lignes!)
Je pensais que la commande Hidden suffirait mais ce n'est apparement pas le
cas.

Savez vous comment faire?

Merci d'avance pour votre aide

Aurélie