Comment code un recherche multi-conditionnel

SHINTRA

XLDnaute Occasionnel
Bonjour tout le monde

ca va faire un moment que je suis venue sur le forum et malheuresement j'y reviens car je me trouve confronter a un probleme que je ne sais pas surmonté seul

Il me semblait pourtant avoir fait quelques progrets en VBA mais apparement pas suffissament. :mad:

Enfin si quelqu'un peu m'orienté ???

je chercher dans VBA une fonction qui me permettrait de manipuler les données a l'identique de la fonction tri automatique.


J'ai un tableau de données (type base de données colonne A, B, C, D, E , F ) dans lequelles je voudrais faire des recherche de correspondances mais uniquement pour les champs A=xx et B=yy

je sais pas si j'ai ete suffisament claire, le cas echean je peux essayer de bricoler un exemple.


merci d'avance
 

SHINTRA

XLDnaute Occasionnel
Merci Davidc57

c'est un peu ce que je fait.
mais comme je souhaite boucle sur un grand nombre d'iterations.

je cherchais un fonction un peu moin gourmande que de repasse par un feuille excel.

mais je crois que je vais me resigner.

merci
de ton aide :) :) :) :)
 

Davidc57

XLDnaute Occasionnel
Resalut,

Alors je te propose de créé une bête table access, et de récupérer les informations par une simple requête SQL.

Rien de plus rapide je pense.
On créé la requête en VBA, du style :

'SELECT A, B FROM NOMTABLE WHERE A='XX' and B='YY''

Tu peux mettre autant de 'AND' que tu veux, des 'OR' aussi ...

A développer si tu es intéresser !

David
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Shintra, David, le Forum

Il a sûrement des solutions en restant dans Excel, mais encore faudrait-il avoir un peu plus de 'matière' à analyser de ton problème.

Je ne saisis pas non plus très bien cette phrase :

'je cherchais une fonction un peu moins gourmande que de repasser par un feuille excel'

Je m'imagine que tu veux éviter de passer par un scan de la Feuille, c'est tout à fait possible, il faut construire un Tableau (Array) que l'on place en mémoire, on scan ensuite les éléments dans la mémoire directement, ce qui va à une vitesse grand 'V'.

Si tu peux être plus précise sur ton besoin avec un petit fichier exemple et descriptif de tes données (sans données confidentielles) je pense que l'on pourra te trouver une solution 'à la carte'.

Bonne soirée
[ol]@+Thierry[/ol]
 

SHINTRA

XLDnaute Occasionnel
re

Bon j ai fait un petit exemple
j espere qu'il sera assez clair

sur la feuille fiche de travail : c'est le but que je recherche

sur la feuille base de données : les données brutes.

je chercher a trouver les correlation de ma fiche dans ma base de donnée.

pour cela ma premiere idee etais de faire un filtre automatique 'dynamique' c'est a dire fixe pour donnée_1 ,_2 et_3 mais dynamique pour données_4

une fois la base de donnée traite je voulais recuperer les informations pour alimenter mon second tableau ( jaune )


des idees ? [file name=exemple_20060404230636.zip size=7767]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20060404230636.zip[/file]

Message édité par: shintra, à: 04/04/2006 23:06
 

Pièces jointes

  • exemple_20060404230636.zip
    7.6 KB · Affichages: 45

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir

J'ai survolé ce fichier, bon c'est assez confus encore mais si j'ai bien compris entre les deux tableaux 'Original' et 'Resulats souhaité' le premier montre un tri/filtré sur le champs 'donnee_4' et le second montre le champs 'donnee_6' ... un peu comme si il s'agissait d'une migration vers une nouvelle codification ?

Je repasserai demain, car là je vais me coucher.

Bonne nuit
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
=> DEMO UserForm Search Collection Multi-Criteria

Bonjour Shintra, David, le Forum

Je pense (j'espère lol) avoir relativement bien compris ce que tu souhaitais obtenir, par contre la présentation de ta feuille 'fiche _travail' est à mon sens un simple exemple, car il sera bien plus compliqué de respecter cette présentation que de refaire completement une nouvelle feuille de résulats à chaque requête.

Par conséquent la Démo ci-jointe s'appuie sur des Collections et des Tableaux séquentiels, qui généreront une nouvelle feuille pour chaque requête validée en construisant un tableau comparatif 'Original' et 'Migration'.

J'ai placé un petit UserForm qui va servir d'Interface Utilisateur pour permettre la sélection des critères souhaités avec des ListBox qui vont s'incrémenter de données en clef unique et bien entendu en 'Cascade' selon le Choix du premier Critère, puis du second, jusqu'ai troisième.

J'ai fait des tests sur 10000 lignes, les délais sont très raisonnables (moins de 2 secondes) sur un Pentium IV 3.4 GHz avec 1 Mo de RAM.

Démo réalisée sous XP Pro S/P 2, Office 2003 Pro.

Bon Appétit à tous et toutes
[ol]@+Thierry[/ol]

PS (Bon à Savoir) j'utilise le 'CodeName' des Feuilles (Propriété de l'onglet de Feuille dans VBE 'Visual Basic Editor'), ainsi j'ai nommé 'DataBase' et 'InterFace' tes deux feuilles 'base de donnee' et 'fiche _travail' respectivement. [file name=USF_Search_MultiFields.zip size=22397]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Search_MultiFields.zip[/file]
 

Pièces jointes

  • USF_Search_MultiFields.zip
    21.9 KB · Affichages: 68

KIM

XLDnaute Accro
Re:=> DEMO UserForm Search Collection Multi-Criteria

Bonjour Thierry, Shintra, David, le Forum
Thierry, j'en profite de ce fil pour demander de l'aide à resoudre mon probleme de recherche et d'extraction dans une nouvelle feuille. J'ai cherché dans les archives mais je n'ai pas trouvé réponse à mon problème. Je pense que c'est dans la meme logique que ce fil, sinon dis moi s'il faut ouvrir un nouveau.

Dans mon fichier joint, 3 feuilles dont :
Feuille GEN: pour les depenses globales,
Feuille REF pour les criteres de recherche
Feuille XTRACT: feuille de resultat.
Je souhaite exctraire toutes les lignes de la feuille GEN qui correspondent aux criteres de la feuille REF. ces criteres correspondent aux colonnes GROUP, CODE et CDP.
Exemple: A extraiire de la feuille GEN dans la feuille XTRACT toutes les lignes correspondantes aux données des colonnes GROUP:CODE:CDP de la feuille REF

Quand il y a le car '*' c-à-d cette colonne est exclue de la recherche sinon je rentre une ou plusieurs données à extraire.
Merci de ton aide
Bien amicalement
KIM [file name=ListDepGen.zip size=4758]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ListDepGen.zip[/file]
 

Pièces jointes

  • ListDepGen.zip
    4.6 KB · Affichages: 44

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> DEMO UserForm Search Collection Multi-Criteria

Bonjour Kim, re Shintra, le Forum

Dans un premier temps, j'ai failli te conseiller d'ouvrir un autre Post, surtout que ma disponibilité pour le Forum est un peu entravée en ce moment.

Puis j'ai regardé un peu ce fichier et en effet ta demande, Kim, est 'relativement' similaire...

En fait, il te faudrait pratiquement le même algo que Shintra vu que tu as trois Critères aussi. Là où je ne saisis pas, c'est cette notion d'exclusion avec des '*' ? Si tu ne sélectionnes pas le ou les Group(s), tu n'as pas besoin de les exclure. (ou bien quelque chose m'échappe ?)

Ta feuille 'REF', contenant les Multi-Critères, doit-elle exister ou peut-elle être remplacée par un UserForm 'cousin' de celui de ma Démo pour Shintra, mais celui-ci comporterait une option de cumulation des différentes requêtes voulues ?

Voilà, essaies d'élaguer un peu tout ceci, je pense pouvoir trouver une solution en partant de la base de travail déjà réalisée pour Shintra (par contre plus tard, voire demain)

Bonne fin de journée
[ol]@+Thierry[/ol]
 

KIM

XLDnaute Accro
Re:=> DEMO UserForm Search Collection Multi-Criter

Bonjour Thierry, re Shintra, le Forum
Merci d'avance de ta disponibilité,
- La notion d'exclusion avec des \\'*\\' est à supprimer. Tu as raison puisque je n'extrais de feuille GEN que les lignes qui correspondent aux critères de la feuille REF (GROUP, CODE, CDP).
- la feuille REF peut etre remplacee par un USERFORM sans probleme avec des selections multilpes pour chaque colonne et possibilité de laisser une colonne vide
Merci et à plustard
Bien amicalement
KIM
 

SHINTRA

XLDnaute Occasionnel
Re:=> DEMO UserForm Search Collection Multi-Criter

Merci Bcp bcp _thierry

c'est a peu pres ca que je cherchais.
je vais essayer d'adapter ton code ( tres tres tres bien fait ) a mes besoins specifiques

Si tu es d'accords je ferais sans doute appel a toi en cas de soucis.

encore une fois merci
 

_Thierry

XLDnaute Barbatruc
Repose en paix
=> DEMO UserForm Search Multi-Criteria Cumulative

Bonjour Kim, Shintra, le Forum

Bon j'ai été absent hier, et donc pas de fichier ! Désolé !

Donc aujourd'hui voici une première ébauche assez simplifiée de ce que l'on peut faire par UserForm pour ton cas Kim.

J'ai trouvé assez sympa le remplissage automatique de la ListBox de Sélection des Requêtes cummulées et sans doublon... Par contre pour la possibilité de colonnes vides, je viens de te relire et je n'avais pas prévu comme ceci... Mais tu sais que dans ce cas là un simple AutoFilter fera ce travail aussi bien qu'un code VBA !

Regarde déjà si celà est dans l'idée de ce que tu souhaites obtenir...

Sinon pour Shintra, merci des compliments, si tu as des questions, je serai ravi de pouvoir t'éclairer.

Bonne Démo et fin de Journée!

[ol]@+Thierry[/ol]
(qui n'aurait jamais pensé un jour faire un job pour le cnrs ;))

Oups, le nom de fichier avec un caractère forbidden ! [file name=USF_Search_MultiFields_Cumulative.zip size=23458]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Search_MultiFields_Cumulative.zip[/file]

Message édité par: _Thierry, à: 07/04/2006 17:22
 

Pièces jointes

  • USF_Search_MultiFields_Cumulative.zip
    22.9 KB · Affichages: 66

Discussions similaires

Statistiques des forums

Discussions
312 963
Messages
2 093 996
Membres
105 906
dernier inscrit
aifa