Syntaxe sur Selection.Autofilter

Fchris

XLDnaute Occasionnel
Bonjour à tous,

Juste une petite question. J'ai le code suivant :

Code:
   Rows("5:5").Select
    Selection.AutoFilter_
    visibledropdown:=False

Mais sur le visibledropdown j'ai systématiquement l'erreur suivante :

Erreur de compilation
Attendu:Expression

S'agit-il d'une erreur de syntaxe ?

Merci par avance de vos réponses.

Christophe
 

Fchris

XLDnaute Occasionnel
Re : Syntaxe sur Selection.Autofilter

Il s'agit de masquer les flèches de sélection liées à la mise en place d'un filtre sur une ligne. Voici l'aide tirée directement d'excel :

AutoFilter, méthode

expression.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)
expression Obligatoire. Expression qui renvoie un des objets répertoriés dans la liste S'applique à.

Field Argument de type Variant facultatif. Il s'agit du décalage de type entier du champ que vous souhaitez utiliser comme référence pour définir le filtre (à partir de la gauche de la liste ; le champ situé le plus à gauche est le champ un).

Criteria1 Argument de type Variant facultatif. Le critère (une chaîne ; par exemple, "101"). Utilisez "=" pour rechercher les champs vides ou "<>" pour rechercher les champs non vides. Si cet argument est ignoré, le critère est All. Si Operator est xlTop10Items, Criteria1 spécifie le nombre d'éléments (par exemple, "10").

Operator
Argument XlAutoFilterOperator facultatif.

XlAutoFilterOperator peut être l'une de ces constantes XlAutoFilterOperator.
xlAnd default
xlBottom10Items
xlBottom10Percent
xlOr
xlTop10Items
xlTop10Percent
Utilisez xlAnd et xlOr avec Criteria1 et Criteria2 pour élaborer des critères composés.

Criteria2 Argument de type Variant facultatif. Second critère (une chaîne). Utilisé avec Criteria1 et Operator pour élaborer des critères composés.

VisibleDropDown Argument de type Variant facultatif. True permet d'afficher la flèche vers le bas AutoFilter pour le champ filtré. False permet de masquer la flèche vers le bas AutoFilter pour le champ filtré. Valeur par défaut : True.

Notes
Si vous ne spécifiez aucun argument, cette méthode permet simplement de passer d'un affichage de la flèche vers le bas AutoFilter à l'autre dans la plage spécifiée.

Exemple
Cet exemple montre comment filtrer une liste en commençant par la cellule A1 de la feuille Sheet1 afin de n'afficher que les entrées dans lesquelles le contenu du champ field1 est identique à la chaîne de caractères « Otis ».

Worksheets("Sheet1").Range("A1").AutoFilter _
field:=1, _
Criteria1:="Otis"
VisibleDropDown:=False
 

tototiti2008

XLDnaute Barbatruc
Re : Syntaxe sur Selection.Autofilter

Merci, ça m'a permis de retrouver la partie de l'aide.
En fait, ça n'a l'air de marcher que si il y a un critère sur un champ
tous les arguments sont facultatifs parce que tu peux faire un AutoFilter tout court pour désactiver le filtre auto par exemple, mais je crois que tu ne peux pas mettre de VisibleDropDown sans critère.
 

Fchris

XLDnaute Occasionnel
Re : Syntaxe sur Selection.Autofilter

Je m'en doutais un peu, mais même sur des zones avec des critères, je n'arrive pas à l'appliquer. Enfin c'est pas grave, je ne vais pas me prendre la tête avec ça, c'était juste dans un souci d'esthétique. :p

Par contre j'ai une autre question à te poser, toujours sur les filtres en vba.

J'ai un fichier, que je mets en pièces jointe, sur lequel j'ai un problème au niveau de mon filtre.

J'ai un USF dans lequel je complète les zones de mon tableau, et à chaque zone s'applique un filtre auto afin de filtrer le tableau en question au fur et à mesure. Et systématiquement, même si je rentre un nom qui n'est pas présent dans le tableau, j'ai ma dernière ligne de ce dernier qui reste affiché alors que je ne devrais rien avoir en visu.

Je ne sais pas si je me fais bien comprendre, aussi je mets le fichier en pièce jointe pour que cela soit plus clair

N'hésite pas à revenir vers moi pour toute question.
Merci d'avance de ton aide.
 

Pièces jointes

  • Test CET.xls.zip
    41.3 KB · Affichages: 185

tototiti2008

XLDnaute Barbatruc
Re : Syntaxe sur Selection.Autofilter

Pour info, j'ai réussi à l'appliquer avec l'exemple de l'aide (il faut juste ajouter une virgule à la fin de Criteria1:="Otis",

le problème est que je ne peux pas ouvrir les zip donc je ne peux pas regarder ton fichier...
 

tototiti2008

XLDnaute Barbatruc
Re : Syntaxe sur Selection.Autofilter

Ouh la la, c'est bizarre...

j'ai trouvé : il a pas l'air d'aimer la fonction sous.total dans une liste filtrée. d'ailleurs sous.total à l'endroit où tu l'as mis ne sert à rien, je crois, tu as autant mettre somme.
 

Fchris

XLDnaute Occasionnel
Re : Syntaxe sur Selection.Autofilter

Ouh la la, c'est bizarre...

j'ai trouvé : il a pas l'air d'aimer la fonction sous.total dans une liste filtrée. d'ailleurs sous.total à l'endroit où tu l'as mis ne sert à rien, je crois, tu as autant mettre somme.

Euhhh Désolé, mais je ne comprend pas ce que tu veux dire :confused:. Tu peux me mettre le bout de code concerné ?

Merci beaucoup
 

tototiti2008

XLDnaute Barbatruc
Re : Syntaxe sur Selection.Autofilter

ça ne concenrne pas le code mais les formules SOUS.TOTAL qui existent dans ta liste.

la fonction SOUS.TOTAL est pratique pour calculer seulement sur les résultras visibles d'un filtre automatique, mais visiblement il n'aime pas quand on l'utilise dans une liste filtrée... et comme je l'ai mis, là où tu as utilisé SOUS.TOTAL, tu peux aussi bien utiliser SOMME puisque tu n'additionne que sur la ligne en cours.
 

Fchris

XLDnaute Occasionnel
Re : Syntaxe sur Selection.Autofilter

OK Ca y est, j'ai trouvé. Je ne me souvenais plus que j'avais mis ce sous.total dans mon tableau. Je l'avais mis au départ, car je pensais disposer tout ça autrement, et je l'avais complètement zappé.

Merci beaucoup tototiti, tu m'enlèves une grosse épine du pied :D. Ca me bloquait tout mon tableau. :mad:

A bientôt
Christophe
 

Statistiques des forums

Discussions
312 361
Messages
2 087 633
Membres
103 617
dernier inscrit
cisco1