|
|
|
|
Excel - Filtre automatique et élaboré
Dernière réponse le 17 nov 2008 à 15:54:44 Sesk, le 27 oct 2008 à 18:24:13Bonjour,
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
Je ne comprends pas trop. Si ta macro dit
|
Bonjour,
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 |
Merci bien pour ce renseignement
|
Essaye Criteria1:=Range("FeuilX!I1")
|
Bon en effet j'ai bien fait de ne pas clore le sujet car j'ai rencontré un nouveau problème.
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 |

