Afficher les résultats d'une recherche dans une base de données

Résolu/Fermé
CamilleG - 30 mars 2015 à 16:41
maxdel26 Messages postés 89 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 20 septembre 2016 - 13 juil. 2015 à 12:35
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

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
30 mars 2015 à 16:58
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+
0
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
30 mars 2015 à 17:01
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

0
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
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
31 mars 2015 à 09:57
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+
0

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

Posez votre question
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.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
31 mars 2015 à 11:34
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+
0
Re bonjour,
Merci pour ta réponse ! La macro et le filtre avancé fonctionnent :)
A bientôt.
0
maxdel26 Messages postés 89 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 20 septembre 2016 2
13 juil. 2015 à 12:35
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 :)
0