Recherche à multiple critère

[Résolu]
Signaler
Messages postés
28
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
30 janvier 2012
-
Messages postés
11
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
13 mars 2005
-
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

Messages postés
11
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
13 mars 2005

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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
28
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
30 janvier 2012

L'idée me parait fort interessante mais comment les utiliser dans VBA ?

Merci


Polompolom
Messages postés
11
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
13 mars 2005

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
Messages postés
28
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
30 janvier 2012

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
Messages postés
11
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
13 mars 2005

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