Macro VBA pour appliquer un filtre

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

  • Classeur1.xlsm
    19.8 KB · Affichages: 231
  • Classeur1.xlsm
    19.8 KB · Affichages: 190
  • Classeur1.xlsm
    19.8 KB · Affichages: 212

Staple1600

XLDnaute Barbatruc
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:
 

DoubleZero

XLDnaute Barbatruc
Re : Macro VBA pour appliquer un filtre

Re-bonjour, bonjour, Staple1600 :D,

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 :confused:

A bientôt :):)
 

Staple1600

XLDnaute Barbatruc
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:

hamid43

XLDnaute Nouveau
Bonjour à tous
je souhaiterais une modification de la macro (copy_filtre) qui me permettrai de regroupé le filtrage de toutes les pages
mais seulement pour certains colonnes _ (feuille snty2)
voir pièces jointes
Merci beaucoup
 

Pièces jointes

  • Synthèse.xls
    302.5 KB · Affichages: 11

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib