combiner des filtres avancés en masquant des colonnes

rodgeraa

XLDnaute Nouveau
Bonjour,
Dans le fichier joint j'ai une base de données satellites dont je souhaite extraire des données sur l'onglet "filtres" et à partir de la cellule A6.

ma plage de critère est sur les lignes 1 et 2 de l'onglet filtres.

jusque là je m'en sorts avec la fonction "filtres avancés" mais pas pour copier les données sur le bon onglet.
( 1er problème)
D'autre part (2ème problème) je ne veux faire apparaitre que les colonnes A à I de la zone de critères et non pas les collones A à X de la base et je n'y arrive pas !

merci pour votre aide.
 

Pièces jointes

  • Classeur1 exemple.xlsm
    63.9 KB · Affichages: 37
  • Classeur1 exemple.xlsm
    63.9 KB · Affichages: 38
  • Classeur1 exemple.xlsm
    63.9 KB · Affichages: 38

rodgeraa

XLDnaute Nouveau
Re : combiner des filtres avancés en masquant des colonnes

Génial !
Pour ma parfaite compréhension, vous avez defini une zone "critères" A1:E2 et une zone "extraire"
cela a t il une utilité ici ? ou est ce fait automatiquement par la fonction quand on l utilise ?
merci pour votre éclairage.

D'autre part y a t il un moyen d'automatiser un peu plus les recherches , par exemple en "n'ayant plus qu' à " renseigner la zone critères et lancer la fonction de filtre via un bouton ou autre.

je souhaite etendre cette fontion à une base relativement grosses plusieurs centaines de colonnes et milliers de ligne.

Merci d'avance.

laurent
 

chris

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Bonjour

IL faut 3 zones dans un filtre avancé : les données, les critères et la "piste d’atterrissage".

Elle doivent être bien disjointes sinon le filtre se prend les pieds dans le tapis...

On peut bien sûr automatiser avec une macro : quasi indispensable quand le résultat du filtre est dans un autre onglet.

Utilise l'enregistreur de macros puis corrige un peu le code pour qu'il se réfère aux colonnes et non à une plage finie pour les données comme pour la plage extraite.
 
Dernière édition:

rodgeraa

XLDnaute Nouveau
Re : combiner des filtres avancés en masquant des colonnes

Bon je progresse, j'ai réussi à enregistrer ma première macro !
fantastique.
du coup encore une question:
j'ai du mal à maitriser le renseignement de la zone critère pour trier des dates:
quels sont les opérateurs et la syntaxe à utiliser ? je ne trouve rien de précis la dessus:
>01/02/2012 ne marche pas par exemple. je n'arrive qu'a filtrer des données que sur une date exacte !


je n'arrive pas non plus à utiliser les opérateurs logiques ET et OU dans les critères texte.
valeur1 ET valeur 2 ne marche pas.

Merci d'avance.
 

Staple1600

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Bonsoir à tous

Je participerai bien à la fête mais je ne peux actuellement ouvrir que les fichiers *.xls.
Si quelqu'un pouvait joindre le fichier exemple (mais en version xls), je lui en serai reconnaissant. ;)
 

chris

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Bonjour
Coucou Staple:)

Dans ton exemple la mention >01/04/2011 fonctionne parfaitement.

Pour un ET il faut répéter la colonne avec le même titre
Pour un OU il faut utiliser plusieurs lignes (voir l'aide en ligne qui décrit bien cela)

Ci-joint l'exemple avec une fourchette de dates (attention je n'ai pas refait l'image) en format xls...
 

Pièces jointes

  • Filtre2.xls
    207.5 KB · Affichages: 36
  • Filtre2.xls
    207.5 KB · Affichages: 37
  • Filtre2.xls
    207.5 KB · Affichages: 37

Staple1600

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Re, salut chris (et merci pour l'xls ;) )

chris
Je viens de l'ouvrir, et je ne vois quoi d'autre ajouter, à part peut-être la transcription du filtrage en code VBA ;)

PS: Secrètement, j'espérais me creuser les méninges sur un critère par formule
(mais vu l'agencement des données et les critères retenus de cet exemple il faudrait creuser trop profond ;) )
 

rodgeraa

XLDnaute Nouveau
Re : combiner des filtres avancés en masquant des colonnes

Bon, je precise mon problème:

en utilisant le filtre avancé, no pb.

j'ai enregistré la macro "macrotest2" et cette dernière retourne des resultats erronés (dans mon exemple l'ATV 2 ne devrait pas être dans les resultats) et je ne comprends pas pourquoi.

merci pour votre aide
 

Pièces jointes

  • Filtre 3.xlsm
    75.9 KB · Affichages: 35

chris

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Bonjour

Effectivement la macro interprète mal les dates : cela m'est déjà arriver même en manuel.

Je n'avais pas voulu compliquer mais j'utilise pour ma part des formules pour les dates.
Les formules n'aiment pas les espaces dans le nom des champs : j'ai renommé la colonne qui pose problème, utiliser ce nom dans la formule et dans la zone d'extraction et placer les dates dans des cellules à part.

Cela marche maintenant de la même façon en manuel ou en VBA.


Edit : je viens d'ailleurs de faire une recherche et trouver un fil avec le même problème et le même type de solution proposée par notre ami Myta.
Tous ces problèmes de date sont apparus depuis Excel 2007 et on en a aussi quelques uns dans les TCD.
 

Pièces jointes

  • Filtre3.xlsm
    76.5 KB · Affichages: 33
Dernière édition:

rodgeraa

XLDnaute Nouveau
Re : combiner des filtres avancés en masquant des colonnes

Merci Chris.
En suivant ton raisonnement, j'ai donc fait un autre test. J'ai ajouté une colonne critère avec un nom simple "Policy_inception".et la colonne extraction correspondante.
J'ai modifié la macro.
je lance une requête sur un critère simple (> 01/11/2010).
Ca reste le bazar total....avec la macro , alors que c'est ok avec le filtre avancé.
Au secours !
(l'idée de rentrer des formules dans la zone requête , ca va pour les experts, je cherche ici un truc simple).

cf fichier joint.(filtre4)
Merci.
 

Pièces jointes

  • Filtre4.xlsm
    78.4 KB · Affichages: 35

chris

XLDnaute Barbatruc
Re : combiner des filtres avancés en masquant des colonnes

Bonjour
Coucou MJ13:)

Merci Chris.
En suivant ton raisonnement, j'ai donc fait un autre test. J'ai ajouté une colonne critère avec un nom simple "Policy_inception".et la colonne extraction correspondante.
J'ai modifié la macro.
je lance une requête sur un critère simple (> 01/11/2010).
Ca reste le bazar total....avec la macro , alors que c'est ok avec le filtre avancé.
Au secours !
(l'idée de rentrer des formules dans la zone requête , ca va pour les experts, je cherche ici un truc simple).

cf fichier joint.(filtre4)
Merci.

J'ai justement expliqué que sous cette forme les dates ne sont pas lues correctement en VBA.

Les dates en format US marchent pour la macro mais pas en manuel et ne sont pas naturelles pour nous.
On peut aussi saisir les dates au format numérique mais cela n'est pas plus naturel.

Les formules marchent dans les deux cas, manuel ou VBA.

Quand on fait ce genre de filtre on prévoit en général les scenario de filtre possibles et des zones de saisies de dates et autres critères. Cette zone est en dehors de la zone de critères qui est masquée ou placée dans un autre onglet : l'utilisateur lambda saisit juste ses critères de façon simple et ceux-ci sont exploités par les formules de la zone de critères, voire le VBA qui peut reformater dans la zone de critères.

Le filtre s'appelle élaboré ou avancé selon les versions : il est vrai qu'il est plus complexe à manipuler que le filtre auto.
Une autre solution peut être de passer par le filtre auto et d'automatiser la copie du résultat...
 
Dernière édition:

rodgeraa

XLDnaute Nouveau
Re : combiner des filtres avancés en masquant des colonnes

Chris, je crois avoir compris ton idée.
mais je ne trouve pas comment la mettre en oeuvre:

Comment fais tu pour convertir la cellule de saisie utilisateur en un format acceptable (mm/dd/yyyy) dans la zone de critère sachant qu'un utilisateur peut entrer ou non un critère > ou < sans qu'on le sache à l'avance ?
pourrais tu me montrer un exemple sur mon fichier ?
je me debrouillerai ensuite pour masquer la ligne.

Merci d'avance.
Mon boss rentre demain et ca commence à devenir chaud pour moi...
 

Discussions similaires

Statistiques des forums

Discussions
312 158
Messages
2 085 830
Membres
102 994
dernier inscrit
snoopy70