Combinaison de deux critères pour filtrage

Brigitte

XLDnaute Barbatruc
Bonjour,

J'ai bien avancé sur mon fichier pour rechercher des lignes qui correspondent à un mot clef (merci JB pour le fitre, merci PHlaurent et Hulk pour l'usf).

J'ai encore envie d'améliorer.

Je vous joins mon fichier. Il faut cliquer sur le bouton "4 mots clé ?" pour avoir l'usf qui permet de saisir 4 mots clé maxi qui s'installent dans la colonne L (masquée) puis le filtrage s'opère.

Le filtre cherche dans les colonnes F et G, un ou plusieurs mots clé et met en évidence les lignes concernées. Un petit usf me permet de saisir ces mots clé, par cette formule de JB :

=SOMMEPROD((--(ESTNUM(CHERCHE(Liste;$F3)))+--(ESTNUM(CHERCHE(Liste;$G3))))*(Liste<>""))>0

Comment donc faire la suite en saisissant par exemple l'année dans l'usf, qu'elle aille se mettre en L6 (il faut l'extraire de la date de la colonne B).

J'aimerais combiner ce mot clé avec l'année de la colonne B (Séance) ET donc améliorer mon filtre personnalisé si besoin d'affiner.

Exemple :

Mot clé 1 : gestion Année : 1991 (mais pour l'année : facultatif)

afin de ne sélectionner que les lignes susceptibles de m'intéresser pour éviter qu'il y en ait trop. Là j'ai volontairement laissé qq lignes seulement dans le fichier. En réalité il y en a déjà plus de 2000 (200 de plus chaque année environ) et donc parfois le résultat peut être de 20/30, donc cela permettrait d'affiner : mais seulement si on souhaite renseigner l'année (il faut laisser la possibilité de ne pas mettre l'année).

Merci à vous si vous avez des idées (mais comme je suis peu douée pour adapter, si possible des choses réalisables pour mon niveau et surtout compréhensibles ;-)

A bientôt.
 

Pièces jointes

  • Délibérations - Historique essai.xls
    91 KB · Affichages: 138
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combinaison de deux critères pour filtrage

Bonsoir,

-Il faut ajouter dans la BD une colonne K avec en K5: =année(B5)
-L'année en M2 (ou rien)
-Le critère devient en P2:
=(SOMMEPROD(((ESTNUM(CHERCHE(Liste;$F3)))+(ESTNUM(CHERCHE(Liste;$G3))))*(Liste<>""))>0)*(SI($M$2>0;K3=$M$2;VRAI))

Sub FILTRE()
Range("F2:K10000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("P1:p2"), Unique:=False
End Sub


JB
 

Pièces jointes

  • Délibérations - Historique essai.zip
    31.5 KB · Affichages: 27
  • Délibérations - Historique essai.zip
    31.5 KB · Affichages: 28
  • Délibérations - Historique essai.zip
    31.5 KB · Affichages: 25
Dernière édition:

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Re,

Petite question : peut on éviter de rajouter la colonne K =annee(B3) en mettant :

=(SOMMEPROD(((ESTNUM(CHERCHE(Liste;$F3)))+(ESTNUM(CHERCHE(Liste;$G3))))*(Liste<>""))>0)*(SI($M$2>0;ANNEE(B3)=$M$2;VRAI))

J'essaie et je n'y parviens pas. Donc je préfère demander plutôt que m'acharner. Sommeprod n'accepte peut être pas de chercher l'année ?

Merci
 

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Bonjour tout le monde,

Et bien ce petit message pour dire que malgré un mal de crâne épouvantable (surement dû à la surchauffe de mon pauvre neurone hier), je suis trop contente.

De plus JNP et Coco Lapin que je remercie ici aussi, m'ont donné sur le premier fil : Regrouper des inputbox plein d'astuces que je vais retenter d'adapter : notamment pour rendre plus lisible et plus propre mon vba..

Encore merci à tous. Mon fichier créé en 2002 a fait, grâce à xld, une fois de plus, un bond en avant très marquant. Je vais faire des heureux et heureuses au boulot.

Concernant ma question précédente : un sommeprod peut il extraire une année d'une cellule contenant une date, je pense que c possible, mais dans le cas présent, je vais m'abstenir, car l'adapter va être casse-goule, mais voici une formule pour ceux que ca pourrait intéresser que j'ai dans un autre fichier (mes fameuses ARCHIVES) et que monique m'avait pondue qui est dans la même veine :

=SOMMEPROD(($E$2:INDIRECT("E"&$Y$30)<>"")*(ANNEE($O$2:INDIRECT("O"&$Y$30))=$Y$24)*($L$2:INDIRECT("L"&$Y$30)="D")*1)&" à détruire"

En Y24, une année saisie sous la forme 2009
En O une colonne contenant une date sous la forme 22/02/09
Et donc on compte les lignes qui combinent :

- non vide (test sur E)
- celles dont l'année extraite de O est idem que Y24
- celles qui doivent être détruites (un D pour destruction en colonne L)
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Bonjour le forum :),
Après avoir travaillé avec Brigitte, le fichier avance bien, mais étant très VBA et pas très formule :eek:, j'ai besoin de Jacques (ou d'un autre spécialiste en formule) pour transformer l'essai...
Quand Jacques mets en P2 la formule
Code:
=(SOMMEPROD(((ESTNUM(CHERCHE(Liste;$F3)))+(ESTNUM(CHERCHE(Liste;$G3))))*(Liste<>""))>0)*(SI($M$2>0;K3=$M$2;VRAI))
cela se traduit par la réunion de toutes les lignes comprenant un des éléments de la liste, alors que j'aurais besoin de l'intersection de ces éléments, soit comprenant chaque élément de la liste... Merci d'avance pour cette avancée décisive. Je joints le fichier modifié (j'ai été obligé d'en supprimé un bout, il passe plus en entier...).
Bon dimanche :cool:
 

Pièces jointes

  • Délibérations - Historique 4.zip
    227.5 KB · Affichages: 22
  • Délibérations - Historique 4.zip
    227.5 KB · Affichages: 23
  • Délibérations - Historique 4.zip
    227.5 KB · Affichages: 26

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Re,

Jean Noel, voici la réponse de Monique (par mail) qui peut intéresser des lecteurs, elle n'a pas eu le temps de poster. Mais je crois que j'ai mal expliqué à Monique, car il me semble comprendre que là elle combine un critère avec l'année...

Mais de toute manière ... je m'interroge (vive le moulinage de mon neurone) :

Si on fait autrement, la personne qui saisit un mot puis un autre, si aucune ligne ne contient les deux, aucun résultat ne sera affiché, non ? ou alors il faut faire une usine à gaz : je combine les critères 1 2 3 et 4 avec l'année facultative... ou bien je prends indépendamment 1 2 3 4 avec l'année facultative... et donc on a plusss de lignes trouvées, mais au moins si on se trompe dans notre démarche de recherche, on a tous les résultats.

Pense à l'exemple du bateau pompe...

1. version actu : on tape bateau et en deuxièmement pompe et donc on a tout ce qui parle de bateau, de pompe ou de bateau pompe

2. version projetée : on tape bateau et en deuxièmement pompe et on a seulement les lignes qui parlent de bateau ET de pompe, ca réduit, mais peut être qu'on aura pas la bonne ligne.

J'ai avancé sur le fichier et je rajoute les ZIP/PDF sur chaque ligne en colonne A demain (je préfère le faire au boulot, des fois que les liens, faits à la maison, n'aboutissent plus puisque le chemin mène vers intranet). Je te renverrai le fichier si tu veux. Mais il me semble déjà bien ainsi.

En tout cas il faut peut être faire une version comme ta 4 avec le test (pour que je voie) et une 5 avec l'histoire du critère combiné (qui m'inspire plus trop finalement).

Merci à Monique et à JNP.
 

Pièces jointes

  • CriteresBrigitte.xls
    26 KB · Affichages: 76
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combinaison de deux critères pour filtrage

Bonjour,

=(ESTNUM(CHERCHE($L$2;F3)))*(ESTNUM(CHERCHE($L$3;F3)))*(ESTNUM(CHERCHE($L$4;F3)))*(ESTNUM(CHERCHE($L$5;F3)))*(SI($M$2>0;K3=$M$2;VRAI))

Voir PJ

JB
 

Pièces jointes

  • Délibérations - Historique essai.zip
    31.6 KB · Affichages: 22
  • Délibérations - Historique essai.zip
    31.6 KB · Affichages: 22
  • Délibérations - Historique essai.zip
    31.6 KB · Affichages: 23

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Bonjour,

Merci JB une fois de plus... Je ne sais pas si c'est intéressant d'aller dans ce sens, mais au moins nous allons explorer.

En revanche, je vois que si la liste est vide la MFC rend jaune toutes les cellules... Ca se complique trop pour moi. Ouh la la !

JNP est perfectionniste et a tout plein d'idées géniales ; donc il va être heureux de ta réponse.

Bonne fin de dimanche.
 

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Merci pour cette modif. C'est gentil comme tout.

JNP : attention si tu décides malgré (ca devient costaud) tout de continuer... La nouvelle formule de JB, par rapport à l'ancienne :

=(SOMMEPROD(((ESTNUM(CHERCHE(Liste;$F3)))+(ESTNUM(CHERCHE(Liste;$G3))))*(Liste<>""))>0)*(SI($M$2>0;K3=$M$2;VRAI))

ne filtre que sur la colonne F, il faudra qu'on rajoute la colonne des mots-clé, soit la colonne G, à laquelle je tiens, car il s'y trouve vraiment des mots clé parlants (noms de personnes non inclus dans les titres) quelque chose comme :

=(ESTNUM(CHERCHE($L$2;F3)))*(ESTNUM(CHERCHE($L$3;F3)))*(ESTNUM(CHERCHE($L$4;F3)))*(ESTNUM(CHERCHE($L$5;F3)))*(SI($M$2>0;K3=$M$2;VRAI))+(ESTNUM(CHERCHE($L$2;G3)))*(ESTNUM(CHERCHE($L$3;G3)))*(ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$5;G3)))*(SI($M$2>0;K3=$M$2;VRAI))

ou

=(ESTNUM(CHERCHE($L$2;F3)))*(ESTNUM(CHERCHE($L$3;F3)))*(ESTNUM(CHERCHE($L$4;F3)))*(ESTNUM(CHERCHE($L$5;F3)))*(ESTNUM(CHERCHE($L$2;G3)))*(ESTNUM(CHERCHE($L$3;G3)))*(ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$5;G3)))*(SI($M$2>0;K3=$M$2;VRAI))

ou

=(ESTNUM(CHERCHE($L$2;F3)))*(ESTNUM(CHERCHE($L$3;F3)))*(ESTNUM(CHERCHE($L$4;F3)))*(ESTNUM(CHERCHE($L$5;F3)))+(ESTNUM(CHERCHE($L$2;G3)))*(ESTNUM(CHERCHE($L$3;G3)))*(ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$5;G3)))*(SI($M$2>0;K3=$M$2;VRAI))

Voir autre... Je sais pas trop où on le rajoute...


A tester... Ouille ouille ouille... Tu crois que tu te lances ? Je t'assure que je suis déjà super contente là. Et les gens qui vont utiliser le fichier ne sont pas des spécialistes d'excel donc à mon avis, vont déjà être comme moi, super conquis. Enfin bon, si tu veux "t'amuser", dis le moi.
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Combinaison de deux critères pour filtrage

=(ESTNUM(CHERCHE($L$2;F3))+ESTNUM(CHERCHE($L$2;G3)))*(ESTNUM(CHERCHE($L$3;F3))+ESTNUM(CHERCHE($L$3;G3))+ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$4;F3))+ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$5;F3))+ESTNUM(CHERCHE($L$5;G3)))*(SI($M$2>0;K3=$M$2;VRAI))

Attention! la mfc ne passe plus (trop de caractères -supprimer un Mot clé dans la liste-)

JB
 

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Ah la la j'avais pas pensé à mettre ensemble F et G pour chaque ligne... Comme quoi !

Jacques il n'y aurait pas un petit souci de signes, et un L4 de trop ? à bien regarder :

=(ESTNUM(CHERCHE($L$2;F3))+ESTNUM(CHERCHE($L$2;G3) ))*
(ESTNUM(CHERCHE($L$3;F3))+ESTNUM(CHERCHE($L$3;G 3))+
ESTNUM(CHERCHE($L$4;G3)))*
(ESTNUM(CHERCHE($L$4 ;F3))+ESTNUM(CHERCHE($L$4;G3)))*
(ESTNUM(CHERCHE($L $5;F3))+ESTNUM(CHERCHE($L$5;G3)))
*(SI($M$2>0;K3=$M $2;VRAI))

Car il me semble qu'il y a un pb de logique dans l'évolution du signe + et *. Merci Jacques.

Ce serait pas plutôt (allez je me lance, tant pis si je me fourvois) :

=(ESTNUM(CHERCHE($L$2;F3)))+ESTNUM(CHERCHE($L$2;G3)))*(ESTNUM(CHERCHE($L$3;F 3)))+ESTNUM(CHERCHE($L$3;G3)))*(ESTNUM(CHERCHE($L$4;F3)))+ESTNUM(CHERCHE($L$4;G3)))*(ESTNUM(CHERCHE($L$5;F3)))+ESTNUM(CHERCHE($L$5;G3)))*(SI($M$2>0;K3=$M$2;VRAI))

Mais ta remarque sur la MFC (ca non plus, bien sûr je ne savais pas et au moins j'aurais appris cela) fait que je penche vraiment pour l'arrêt de l'usine à gaz. Car même si qq part la MFC n'est pas indispensable du tout, je l'aime bien, je suis très "visuelle" (c'est un peu "rassurant" de voir que la machine ne se trompe pas) et ca m'embêterait de m'en passer.

Quant à me passer d'un mot clé, c'est bien sûr envisageable, car finalement j'ai mis 4 au pifomètre, alors pourquoi pas trois.

Mais bon... C'est déjà un très bel outil au regard de ce que l'on avait (c'est à dire : RIEN) et on pourrait, Jean-Noël, s'en arrêter là, le faire fonctionner et je te ferai part du ressenti d'ici un mois ou deux.

On garderait à ce moment là ce précieux fil au chaud, tous les petits fichiers concoctés par les uns et les autres aussi (je vais tout mettre dans un répertoire "évolution du fichier") et on avise après retour d'expérience.

Qu'en penses tu ?

En tout cas, une fois de plus, merci JB, JNP, cocolapin, phlaurent, hulk, monique (j'espère n'oublier personne). Car vous y avez consacré un temps précieux, le vôtre. Vive xld !!
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Bonsoir le forum :),
Comme dit Brigitte, je suis peut-être un peu trop perfectionniste, mais le résultat me parraît interressant...
La formule de Jacques semble donner le résultat escompté (pas trop compris ce que pensait Brigitte, mais je suis nul en formules :eek:).
La MFC n'a pas l'air d'en souffrir, même sur 4 critères, mais bon, j'ai peut-être pas fait les tests qui fallait...
Certe, il y a un peu de temps de calcul, mais bon, on a rien sans rien...
Il y a juste un petit problème (sans gravité), il faut cliquer 2 fois sur valider pour que ça quitte (c'est pas la première fois que ça m'arrive sur un USF, il semblerait que les 2 événements (quitter le textbox et clic sur Validez) s'opposent).
Brigitte, teste, et tu me diras ce que tu en penses. J'ai juste modifié au niveau des macros un Application.ScreenUpdating = False pour accélérer la vitesse, je lance TOUT pour recalculer si on a ôté un critère, et un petit ActiveWindow.ScrollRow = 3 pour que l'affichage soit depuis le début.
Bonne soirée :cool:
 

Pièces jointes

  • Délibérations - Historique 4.zip
    227.9 KB · Affichages: 28
  • Délibérations - Historique 4.zip
    227.9 KB · Affichages: 25
  • Délibérations - Historique 4.zip
    227.9 KB · Affichages: 27

Brigitte

XLDnaute Barbatruc
Re : Combinaison de deux critères pour filtrage

Bonsoir,

Avant de fermer, je viens donner des nouvelles à ceux qui ont potentiellement suivi ce fil. Le fichier obtenu est vraiment très satisfaisant. J'ai même deux versions à faire tester aux utilisateurs. Le luxe !!

Je mets la petite dernière (version 6) pour ceux qui veulent regarder les macros. Je l'ai réduit pour qu'il pollue pas trop le serveur.

Donc encore merci à JNP pour sa science et sa grande disponibilité.

J'ai le neurone en feu, le fichier ne ressemble plus trop à celui de départ (au niveau VBA) et que je comprenais un peu... Mais il est tout de même bien plus fiable.

On a bien sûr, je rassure JB, conservé ses formules sans lesquelles rien ne serait.

Voilà, merci encore. A bientôt pour de nouvelles aventures ; il faut croire que je suis abonnée au filtrage par macro dans mes demandes.

Bonne fin de dimanche.

PS : chris, JNP a enlevé le calcul automatique et en effet c'est plus rapide, dans cette 6ème version. Je sais que tu avais regardé de ton côté mais je n'étais pas très dispo pour te parler.
 

Pièces jointes

  • Délibérations - Historique 6 XLD.zip
    63.8 KB · Affichages: 21
Dernière édition:

Discussions similaires

Réponses
0
Affichages
259
Réponses
10
Affichages
645