Excel - Filtre automatique et élaboré
Sesk
Messages postés
6
Statut
Membre
-
Sesk Messages postés 6 Statut Membre -
Sesk Messages postés 6 Statut Membre -
Bonjour,
J'ai rencontré un problème concernant les filtres sur Excel.
En fait je souhaite créer une macro permettant de faire un pré-choix à l'intérieur d'un filtre automatique.
Pour cela j'ai mis en place un filtre automatique puis j'ai utlisé un filtre élaboré permettant de sélectionner x colonnes parmis toutes.
Malheureusement le filtre élaboré enlève le filtre automatique et si je le remets, le filtre automatique enlève cette fois ci le résultat du filtre élaboré.
j'ai l'impression que ces 2 filtres sont exclusifs. Peut-on y remédier, ou avez vous une autre proposition?
Exemple :
Etape 1 : Création du tableau avec mise en place du filtre automatique.
Etape 2 : Création d'une macro permettant de faire un filtre automatique sur les Colonnes A et B (par exemple A=y et B=3).
Etape 3 : Une fois le pré-choix fais j'aimerais concerver le filtre automatique pour qu'un utilisateur puisse choisir le "Choix3".
Cependant la macro filtre élaboré à enlever le filtre automatique et en essayant de le remettre manuellement ou par macro, cette fois ci c'est le filtre élaboré qui a été supprimé...
Je ne vois plus comment faire. Peut-être même que je n'ai pas utilisé les bonnes fonctions.
Merci d'avance
Sesk
J'ai rencontré un problème concernant les filtres sur Excel.
En fait je souhaite créer une macro permettant de faire un pré-choix à l'intérieur d'un filtre automatique.
Pour cela j'ai mis en place un filtre automatique puis j'ai utlisé un filtre élaboré permettant de sélectionner x colonnes parmis toutes.
Malheureusement le filtre élaboré enlève le filtre automatique et si je le remets, le filtre automatique enlève cette fois ci le résultat du filtre élaboré.
j'ai l'impression que ces 2 filtres sont exclusifs. Peut-on y remédier, ou avez vous une autre proposition?
Exemple :
Etape 1 : Création du tableau avec mise en place du filtre automatique.
A B C 1 Choix1 Choix2 Choix3 2 x 1 a 3 x 1 b 4 x 1 c 5 x 2 a 6 x 2 b 7 x 2 c 8 y 3 a 9 y 3 b 10 y 3 c 11 y 1 a 12 y 1 b 13 y 1 c 14 z 2 a 15 z 2 b 16 z 2 c 17 z 3 a 18 z 3 b 19 z 3 c
Etape 2 : Création d'une macro permettant de faire un filtre automatique sur les Colonnes A et B (par exemple A=y et B=3).
A B C 1 Choix1 Choix2 Choix3 8 y 3 a 9 y 3 b 10 y 3 c
Etape 3 : Une fois le pré-choix fais j'aimerais concerver le filtre automatique pour qu'un utilisateur puisse choisir le "Choix3".
Cependant la macro filtre élaboré à enlever le filtre automatique et en essayant de le remettre manuellement ou par macro, cette fois ci c'est le filtre élaboré qui a été supprimé...
Je ne vois plus comment faire. Peut-être même que je n'ai pas utilisé les bonnes fonctions.
Merci d'avance
Sesk
A voir également:
- Excel - Filtre automatique et élaboré
- Word et excel gratuit - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Si et ou excel - Guide
10 réponses
Bonjour,
Merci bien pour la réponse. Encore une fois le problème est résolu.
Pour la même raison que précédemment, je ne clos pas le sujet.
Merci.
Sesk
Merci bien pour la réponse. Encore une fois le problème est résolu.
Pour la même raison que précédemment, je ne clos pas le sujet.
Merci.
Sesk
Je ne comprends pas trop. Si ta macro dit
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="Y"
Selection.AutoFilter Field:=2, Criteria1:="3", Operator:=xlAnd
Ca applique le filtre, ça fait ton pré-choix, et le choix 3 reste dispo....
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="Y"
Selection.AutoFilter Field:=2, Criteria1:="3", Operator:=xlAnd
Ca applique le filtre, ça fait ton pré-choix, et le choix 3 reste dispo....
Bonjour,
Tout d'abord merci de cette réponse rapide.
Ci-après la macro que j'ai réalisée qui ne fonctionne pas :
1ère étape de la macro : Filtre évolué.
2ème étape de la macro : Mise en place du filtre automatique sur le pré-choix du filtre évolué.
Résultat : rien n'est fait ou du moins l'étape 2 a supprimé l'étape 1
Indépendamment ces étapes fonctionnent.
Merci
Sesk
Tout d'abord merci de cette réponse rapide.
Ci-après la macro que j'ai réalisée qui ne fonctionne pas :
Sub Essai()
Range("A1:C19").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A22:C23"), Unique:=False
Rows("1:1").Select
ActiveSheet.ShowAllData
Selection.AutoFilter
End Sub
1ère étape de la macro : Filtre évolué.
2ème étape de la macro : Mise en place du filtre automatique sur le pré-choix du filtre évolué.
Résultat : rien n'est fait ou du moins l'étape 2 a supprimé l'étape 1
Indépendamment ces étapes fonctionnent.
Merci
Sesk
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci bien pour ce renseignement
Je crois que je me suis imposé une contrainte inutile qui sert à rien : le filtre élaboré. En effet ta proposition me convient.
Petit bémol : la fonction " Criteria1:="Y" " renvoie les possibilités pour Y. J'aimerais que au lieu d'une valeur fixe Y on puisse lire la valeur d'une case sur un autre onglet.
Avec la commande " Criteria1:=Range("I1") ", je suis arrivé à faire lire la valeur x ou y ou z marqué en I1 mais désormais je souhaiterais connaître la commande pour aller lire la valeur en I1 d'un autre onglet.
PS : peux tu m'expliquer ce que fait la commande " Operator:=xlAnd " car j'ai l'impression que sans ça marche aussi.
Merci
Je crois que je me suis imposé une contrainte inutile qui sert à rien : le filtre élaboré. En effet ta proposition me convient.
Petit bémol : la fonction " Criteria1:="Y" " renvoie les possibilités pour Y. J'aimerais que au lieu d'une valeur fixe Y on puisse lire la valeur d'une case sur un autre onglet.
Avec la commande " Criteria1:=Range("I1") ", je suis arrivé à faire lire la valeur x ou y ou z marqué en I1 mais désormais je souhaiterais connaître la commande pour aller lire la valeur en I1 d'un autre onglet.
PS : peux tu m'expliquer ce que fait la commande " Operator:=xlAnd " car j'ai l'impression que sans ça marche aussi.
Merci
Essaye Criteria1:=Range("FeuilX!I1")
Et pour le xlAnd, c'est juste que tu veux "Y" pour le champ 1 ET "3" pour le champ 2. L'autre opérateur serait xlOr. 9a marche sans parce que xlAnd est l'opérateur par défaut.
Et pour le xlAnd, c'est juste que tu veux "Y" pour le champ 1 ET "3" pour le champ 2. L'autre opérateur serait xlOr. 9a marche sans parce que xlAnd est l'opérateur par défaut.
Bonjour,
Merci bien pour ces réponses. Le problème est résolu.
Je ne clos pas le sujet car mon projet n'est pas terminé et je risque d'avoir d'autre questions.
Encore un grand merci.
Sesk
Merci bien pour ces réponses. Le problème est résolu.
Je ne clos pas le sujet car mon projet n'est pas terminé et je risque d'avoir d'autre questions.
Encore un grand merci.
Sesk
Bon en effet j'ai bien fait de ne pas clore le sujet car j'ai rencontré un nouveau problème.
Après avoir fait tous mes choix dans un tableau j'ai créé une macro permettant de raz les choix pour repartir à neuf pour une nouvelle utilisation. Elle met : "afficher tout" pour les filtres.
Cette macro fonctionne bien mais bug si l'opérateur enlève manuellement le choix avant de lancer la macro.
On a essayer la commande :
Il semblerait que ActiveSheet.ShowAllData = False ne soit pas la bonne variable pour indiquer l'état du filtre.
Avez vous une solution?
Dans l'attente d'une réponse
Cordialement
Sesk
Après avoir fait tous mes choix dans un tableau j'ai créé une macro permettant de raz les choix pour repartir à neuf pour une nouvelle utilisation. Elle met : "afficher tout" pour les filtres.
Sheets("Quantité").Select
ActiveSheet.ShowAllData
Columns("I:M").Select
Selection.ClearContents
Range("A1").Select
Cette macro fonctionne bien mais bug si l'opérateur enlève manuellement le choix avant de lancer la macro.
On a essayer la commande :
Sheets("Quantité").Select
If ActiveSheet.ShowAllData = False Then --> notre pb
ActiveSheet.ShowAllData
Columns("I:M").Select
Selection.ClearContents
Range("A1").Select
End If
Il semblerait que ActiveSheet.ShowAllData = False ne soit pas la bonne variable pour indiquer l'état du filtre.
Avez vous une solution?
Dans l'attente d'une réponse
Cordialement
Sesk