Filtre enregistreur de macro

garrec

XLDnaute Occasionnel
Bonjour

J'ai essayé de faire un filtrage avec l'enregistreur de macro et dans le filtre je dis "tu selectionnes tout sauf quand il y a FAUX dans une colonne".

Le probleme c'est que dans l'enregistreur de macro il n'ecrit pas ça comme ça. Pour lui il selectionne tout ce qui n'est pas faux (ce qui est sensiblement différent ). Je m'explique

Voici le code

Code:
 ActiveSheet.Range("$O$4:$S$999").AutoFilter Field:=1, Criteria1:=Array( _
        "BJM2 INDEX", "CFM2 INDEX", "ESM2 INDEX", "GXM2 INDEX", "JSM2 INDEX", _
        "JYH2 COMB CURNCY", "KGM2 INDEX", "QBM2 INDEX", "QKM2 INDEX", "RHM2 INDEX", _
        "SXM2 INDEX", "ULM2 INDEX", "VGM2 INDEX", "WQM2 INDEX", "Z M2 INDEX"), Operator:= _
        xlFilterValues

et donc il n'ecrit pas "tout selectionner sauf FAUX"

Donc si j'importe une nouvelle ligne AAAA INDEX (par exemple) elle ne sera pas présente dans mon tableau filtré si je réexécute la macro.

Pourrais je modifier mon code pour qu'il prenne toujours toute les lignes SAUF faux!

Je joint mon tableau en Pj

Merci
 

Pièces jointes

  • Classeur1.xlsx
    77.4 KB · Affichages: 42
  • Classeur1.xlsx
    77.4 KB · Affichages: 54
  • Classeur1.xlsx
    77.4 KB · Affichages: 66
Dernière édition:

garrec

XLDnaute Occasionnel
Re : Filtre enregistreur de macro

Bonjour

Nickel merci ça a l'air de focntionner

j'ai remplacer mon code par

Code:
Range("O4:O999").Select
    Selection.AutoFilter
     ActiveSheet.Range("$O$4:$S$999").AutoFilter 1, "<>FALSE", Operator:= _
        xlFilterValues
 

flecs

XLDnaute Nouveau
Re : Filtre enregistreur de macro

bonjour à tous!!

Tout d'abord, je voulais vous remercier pour la qualité de ce forum qui me débloque très souvent!
mais là, je suis coincé.
J'ai le même problème que cité ci-dessus sauf que je veux tout sélectionner sauf 0.

pour l'instant ma macro ressemble à sa:
ActiveSheet.Range("$A$6:$LL$19998").AutoFilter Field:=4, "<>0"

mais sa ne marche pas.

merci d'avance pour votre aide!
 

job75

XLDnaute Barbatruc
Re : Filtre enregistreur de macro

Bonjour flecs,

pour l'instant ma macro ressemble à sa:
ActiveSheet.Range("$A$6:$LL$19998").AutoFilter Field:=4, "<>0"
mais sa ne marche pas.

en fait j'ai trouvé:
voici mon code qui marche:
ActiveSheet.Range("$A$6:$LL$19998").AutoFilter Field:=4, Criteria1:="<>0"

Pas compris :confused: car les 2 expression sont équivalentes.

L'Aide VBA donne en effet la syntaxe :

expression.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)

On peut donc omettre Field:= et Criteria1:= puisque le 1er et le 2ème argument sont utilisés.

A+
 

job75

XLDnaute Barbatruc
Re : Filtre enregistreur de macro

Rebonjour flecs, le forum,

Je n'avais pas testé en fait.

Si l'on essaie d'écrire : ActiveSheet.Range("$A$6:$LL$19998").AutoFilter Field:=4, "<>0"

on obtient le message VBA :

Erreur de compilation:

Attendu : paramètre nommé

et "<>0" est mis en surbrillance.

Merci d'avoir permis de rappeler cette règle générale :

Si un paramètre est nommé, les suivants doivent l'être aussi.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote