Filtrage d'une colonne

Bonjour,

J'ai tenté ce bout de code pour filtrer une colonne. L'essentiel n'est pas de moi. J'y ai cependant rajouté la partie "Autofiltre". Simplement, la macro ne marche pas donc ça doit être ça.

Mon but c'est de filtrer et donc de garder à l'affichage dans ma colonne F, toutes les cases qui sont strictement égales à 1.

Pourriez-vous m'indiquer où ça coince ?

Option Base 1

Sub Comparaison()

Dim Sh As Worksheet

For Each Sh In ThisWorkbook.Worksheets

If Sh.Range("B1") = "Nbre" Then

Sh.Range("F2:F" & Sh.Range("F" & Rows.Count).End(xlUp).Row).AutoFilter 1, Criteria1 = "1"

End If

Next Sh

End Sub

Bonjour,

Essayez :

With Sh
    .Range("F2:F" & .Range("F" & .Rows.Count).End(xlUp).Row).AutoFilter Field:=6, Criteria1:="1"
End With

Nb : Pour connaître la syntaxe, utilisez l'enregistreur de macro.

Merci pour votre réponse

Souvent l'enregistreur de macro rajoute des étapes un peu inutile et il me faut démêler le tout.
Je vais essayer de l'utiliser plus souvent lorsque je ne comprends pas mais comme on m'a aussi dit de l'éviter pour ne pas prendre de mauvaises habitudes, je l'ai délaissé.

Question : pourquoi field = 6 ? Parce que F = 6ème de lettre de l'alphabet probablement mais du coup, à quoi cela me sert-il de devoir préciser la colonne en début de syntaxe ?

Edit : j'ai une erreur d'exécution 1004. "La méthode Autofilter de la classe Range a échoué.
Voici le fichier. Il est question de l'onglet du tableau dans l'onglet "Test".

9classeur1.xlsm (25.42 Ko)
Option Explicit

Sub FiltrerLeTableau1()

    With Sheets("test").ListObjects("Tableau1")
         .Range.AutoFilter Field:=4, Criteria1:="1"
    End With

End Sub
Rechercher des sujets similaires à "filtrage colonne"