Afficher les résultats d'une recherche dans une base de données [Résolu/Fermé]

Signaler
-
Messages postés
89
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
20 septembre 2016
-
Bonjour,

Je travaille dans un classeur excel. J'ai un onglet avec une base de données sur quatre colonnes A à D contenant un numéro de symbole en colonne A, une désignation en B, un numéro de dessin en C et un nom de série en D.

Je veux créer un nouvel onglet "recherche", dans lequel on tape un extrait de la désignation (par exemple "tablette"), et qui renvoie, pour chaque donnée contenant l'extrait de la désignation (par exemple "tablette 1ère classe", "tablette 2de classe"...), son numéro de symbole, sa désignation complète, son numéro de dessin et son nom de série. Une recherche peut donc donner plusieurs lignes de résultats.

Je pense qu'il faut faire une macro VBA mais je ne sais pas comment faire. Pouvez-vous m'aider ?
Merci d'avance.


8 réponses

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
Bonjour,

Tu peux utiliser un filtre avancé qui permet d'obtenir une liste filtrée dans un autre emplacement.
Si besoin, joints un classeur avec quelques données pour que je te montre comment faire.

A+
Messages postés
12393
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
13 juillet 2020
1 925
Bonjour CamilleG

Oui il est possible de passer par une macro
Postes un exemple de ton fichier (allégé si nécessaire, une quarantaine de lignes différentes suffisent) sur c joint.com, copie le lien fourni et reviens ici l'indiquer

Cdlmnt
Via

Bonjour Gyrus et via55,
et merci pour vos réponses rapides.
Un extrait de mon fichier est disponible ici : http://cjoint.com/?3CFi3nY8ukk
Je suis intéressée par vos deux solutions, la macro et le filtre avancé, alors merci d'avance pour vos explications !
Cordialement
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
Bonjour,

Ton fichier en retour avec une application du filtre avancé.
Pour te simplifier la tâche, j'ai créé une macro qui lance le filtre mais tu peux tout aussi bien le faire directement avec Excel.

https://www.cjoint.com/c/ECFkfpqGhR4

A+
Re-bonjour,
Merci pour ta réponse, la macro avec le filtre avancé fonctionne bien et correspond à ce que je voulais.
Mais en voulant l'appliquer dans mon classeur d'origine, la macro a des bugs. Parfois j'ai un message indiquant "Impossible d'exécuter le code en mode Arrêt", parfois la macro tourne mais affiche comme résultat toute la base de données sans filtrer par rapport à l'extrait de désignation indiqué.
Peux-tu m'aider ?
Mon fichier est disponible sur le lien suivant : http://cjoint.com/?3CFlKoTACya
Merci d'avance.
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
Il faut que tu respectes scrupuleusement l'orthographe des en-têtes de colonnes Base, Critères et Résultats.
"Numéro de dessin", ce n'est pas pareil que "N° de dessin"

A+
Re bonjour,
Merci pour ta réponse ! La macro et le filtre avancé fonctionnent :)
A bientôt.
Messages postés
89
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
20 septembre 2016
2
Bonjour,

Je me permets de re-up cette conversation pour demander une précision concernant la réponse de "Gyrus" et son fichier ci-joint : https://www.cjoint.com/c/ECFkfpqGhR4

Je vois qu'il est possible de filtrer selon plusieurs critères (exemple : *tablette* *G5* pour obtenir les résultats qui contiennent à la fois "tablette" et "G5").

Est-il possible maintenant de filtrer de manière soustractive ? (exemple : je veux "tablette" et "G5" mais je ne veux pas "LEIA"). Je pensais faire *tablette* *G5* *-LEIA* mais cela ne marche pas.

Avez-vous une idée de comment faire ?

Merci beaucoup :)