Macro VBA pour appliquer un filtre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

abousaad

XLDnaute Junior
Bonjour à tous
J'ai essayé de créer un filtre vba qui permet d'afficher les valeurs non nulles d'une colonne (colonne 4 dans le fichier ci-joint).
Mon problème est que les valeurs de cette colonnes sont variables.
Voilà un petit code que j'ai créé mais ne marche pas lorsque la colonne4 reçoit de nouvelles valeurs.
Merci d'avance pour vos remarques et suggestions.
Code:
Sub Macro2()
    Range("C5:F11").Select
    Range("F5").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$C$5:$F$11").AutoFilter Field:=4, Criteria1:=Array("2", _
        "34", "99"), Operator:=xlFilterValues
End Sub
 

Pièces jointes

Re : Macro VBA pour appliquer un filtre

Bonsoir à tous

Pour le plaisir de croiser 00 (😉) , pour le fun, pour pallier un désagrément possible de CurrentRegion
et aussi pour verser un peu dans le ... bizarre 😉
Le Palier
Code:
Sub a()
Dim dl&: dl = [F65536].End(xlUp).Row
Range("C5:F" & dl).AutoFilter 4, ">0", 1
End Sub

Le Bizarre
Code:
Sub b()
[C:F].Range("A5").AutoFilter 4, "<>0", 1
End Sub


PS:
 
Re : Macro VBA pour appliquer un filtre

Re-bonjour, bonjour, Staple1600 😀,

J'avoue ne pas comprendre 🙁 les subtilités à saisir... et ne pas saisir à quoi correspond le "1" de ">0", 1, dont le remplacement par un 2 donne un résultat correct 😕

A bientôt 🙂🙂
 
Re : Macro VBA pour appliquer un filtre

Re

00
CurrentRegion peut poser des soucis car:
CurrentRegion, propriété
Cette propriété renvoie un objet Range qui représente la zone en cours.
Celle-ci est une plage limitée par toute combinaison de lignes et de colonnes vides.
D'où la macro qui recherche la dernière ligne

Le reste c'est simplement une syntaxe simplifiée (dont j'abuse souvent un peu trop d'ailleurs)
Appelons cela ma coquetterie dans le code 😉
PS: 1=xlAnd
Voir ci-dessous extrait aide VBA
Const xlAnd = 1
Membre de Excel.XlAutoFilterOperator

Pour le bizarre, c'est juste bizarre que [C:F].Range("A5") nous envoie en C5 non ? 😉
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
341
Réponses
1
Affichages
407
Retour