Recherche à multiple critère

Résolu
polompolom69 Messages postés 28 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 30 janvier 2012 - 12 mars 2005 à 18:53
philippeMerklen Messages postés 11 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 13 mars 2005 - 12 mars 2005 à 23:54
Bonjour à tous,

Je cherche une solution pour le problème suivant :

J'ai dans un classeur Excel une base de données avec plusieurs critères :


<COLGROUP>
<COL style=\"WIDTH: 60pt\" span=2 width=80>
<COL style=\"WIDTH: 74pt; mso-width-source: userset; mso-width-alt: 3620\" width=99>
<COL style=\"WIDTH: 60pt\" span=2 width=80>

----

Prénom,
Sexe,
Couleur cheveux,
Taille,
Sport,
----

Pierre,
M,
Brun,
Court,
Boxe,
----

Paul,
M,
Blond,
Court,
Boxe,
----

Marie,
F,
Blond,
Long,
Danse,
----

Françoise,
F,
Brun,
Long,
Volley,
----

Robert,
M,
Brun,
Court,
Foot

Parallèlement avec VBA j'ai créé un userform pour afficher ces données dans une listbox en fonction de boutons radio enclanché qui doivent me servir de critère de recherche :

Exemple : Afficher dans la listbox toutes les filles blondes aux cheveux longs qui pratiquent du volley.

A part des IF... THEN imbriqués les uns dans les autres qui me donnent 300 lignes de codes tellement les possibilités sont nombreuses, n'existe t-il pas un truc pour que VBA aille chercher tout seul un ensemble de mots (Fille+Blond+long+volley) dans une feuille Excel.

Merci au bon samaritain qui aurait l'astuce.

Bien à vous


Polompolom

5 réponses

philippeMerklen Messages postés 11 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 13 mars 2005
12 mars 2005 à 22:04
Salut à toi,

Connais tu Filtre automatique de Excel ?

Données / Fitre / filtre Automatique

Il répond parfaitement à ta question

Pour ma part j'utilise cette fonction de Excel dans des prgm VBA

C'est simple et extrémement puissant.

Philippe M
3
polompolom69 Messages postés 28 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 30 janvier 2012
12 mars 2005 à 22:08
L'idée me parait fort interessante mais comment les utiliser dans VBA ?

Merci


Polompolom
0
philippeMerklen Messages postés 11 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 13 mars 2005
12 mars 2005 à 22:30
Exemple

Selection.AutoFilter Field:=7, Criteria1:="=605899557", Operator:=xlOr,Criteria2:="=605917310"

7 correspond à la colonne sélectionnée

Criteria1 au premier choix de la fenêtre "Personaliser"
Criteria1 au deuxiéme choix de la fenêtre "Personaliser"

Pour obtenir du code compatible VBA à ce que tu souhaites

Tu crées ta base entête de colonne = nom des champs
Tu sélectionnes la plage des données et tu actives Filtre
Automatique

il faut Lancer une nouvelle Macro et l'enregistement se fait directement dans un Module sous VBA

Tu continue en mode Manuel, et puis tu arrêtes la Macro

Et Bezef les codes sont là....

Attentio il faut dominer un minimlum la PRGMt° VBA avant de se lancer dans des projets

Philippe M
0
polompolom69 Messages postés 28 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 30 janvier 2012
12 mars 2005 à 22:37
Merci pour la réponse,

je connais bien Excel mais très peu VBA. Je ne connaissais pas "Autofilter" et sa syntaxe.
merci pour ta réponse rapide. Je m'en vais l'essayer de ce pas !

Très sincèrement


Polompolom
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
philippeMerklen Messages postés 11 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 13 mars 2005
12 mars 2005 à 23:54
Pour bénéficier de toute la puissance des Fitres

ilfaut utiliser les fonctions
=sous.total(3; plage) -> nombre d'occurences
=sous.total(9; plage) -> somme

cette fonction Excel tient compte des options active du Filtre

Bonne nuit,

Philippe M
0
Rejoignez-nous