Bonjour à tous,
Je dois faire un filtre sur un classeur de plusieurs onglets sur un tableau de 11 colonnes et d'un nombre de lignes variable
Le filtre est déjà existant sur la première ligne et peut être activé ou non, la colonne à filtrer est la G, les critères à retenir sont Open ou Rejected ou Closed (celui rejeté est Deleted). Comme tous les onglets n'ont pas de filtre, je fais un test préalable.
J'ai le code suivant :
For Each Worksheet In ThisWorkbook.Worksheets
If Worksheet.AutoFilterMode Then
Range("A1:K1").AutoFilter Field:=7, Criteria1:=Array("Open", "Rejected", "Closed"), Operator:=xlFilterValues
End If
Next
J'ai mis la version avec la sélection de la première ligne entière, mais j'ai essayé avec des Range différents (A1, G1, la totalité du tableau, les colonnes A à K entières, ...)
J'ai 2 problèmes :
- La macro ne marche pas systématiquement (" La méthode AutoFilter de la classe Range a échoué " dès le premier onglet sur lequel le filtre est existant)
- quand elle marche, certains onglets sont filtrés, d'autres non, alors qu'un déroulement pas à pas me montre bien que tous les onglets sont balayés.
Et tout ça semble aléatoire...
Si quelqu'un a une solution, je suis preneur. Ca fait 2 heures que je triture Internet dans tous les sens et je ne trouve rien.
Merci d'avance.
Manu