Filtre enregistreur de macro

  • Initiateur de la discussion Initiateur de la discussion garrec
  • Date de début Date de début

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 !

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

Dernière édition:
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
 
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!
 
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 😕 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+
 
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+
 
- 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
2
Affichages
795
  • Question Question
XL 2013 Aide VBA
Réponses
4
Affichages
1 K
Retour