Recherche multicritères dans bdd excel

Résolu/Fermé
thiboh41 - 26 juin 2012 à 22:57
fais27 Messages postés 45 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 27 juin 2012 - 27 juin 2012 à 22:17
Bonjour à tous,

Je vais essayer de vous décrire simplement mon problème.
J'ai élaboré une base de données dans laquelle j'ai des informations concernant des salariés (Nom, prénom, spécialité, ville d'exercice, établissement d'exercice, etc.).
J'ai fait une interface dans le 1er onglet dans laquelle j'aimerai créer la possibilité d'effectuer des recherches multicritères. je m'explique :
Une 1ere ligne dans laquelle on rentrerait le nom, par ex.
Une 2ème dans laquelle on rentrerait la spécialité
Une 3ème dans laquelle on rentrerait le ville d'exercice.

J'aimerai qu'une fois ces critères renseignés (il peut y avoir des cases vides), une macro se lance (ou formule...) et aille chercher tous les salariés correspondants à ces critères, et remplissent un tableau prévu à cet effet.

Selon, est-ce possible de manière pas trop compliqué ?

Merci beaucoup pour votre aide précieuse,

N'hésitez pas si vous avez besoins de plus de renseignements...

Thib



A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
27 juin 2012 à 01:29
Bonsoir,

Si c'est vraiment pour extraire tu as les filtres élaborés :
https://www.cjoint.com/?BFBbzGgzj4R

Si c'est juste pour consulter plus facilement tu as des solutions plus souples en vba :
https://www.cjoint.com/?BFBbCJvexgk

eric
0
Merci Eric, c'est top, comme d'habitude !

Par contre, est-il possible de ne lancer la recherche via le filtre élaboré unqiuement aprés avoir cliqué sur un bouton ?
Le filtre élaboré agit-il comme une macro ?

Merci beaucoup,

Thib
0
Autre question ?

Est-il possible, via le filtre élaboré, de mettre moins de critères que ce que je souhaite faire apparaître ?
Autrement dit, puis-je en critère de recherche ne mettre que nom et spécialité, et faire apparaitre toutes les informations ?
De plus, dans l'exemple que vous m'avait donné du filtre avancé, la recherche ne s'actualise pas en appuyant sur entrée ? Dois-je mettre un bouton pour actualiser la page ?

De plus, mon filtre avancé ne fonctionne. Est ce par ce que ma base de donnée se situe dans un autre onglet ?! Je fais exactement la même chose que dans votre fichier, mais la recherche de prend pas en compte ma zone de critère, mais seulement mes en-têtes de colonne. par ex, lorsque je tape le nom d'un salarié, il ne me sort pas juste ce salarié, mais tous les salariés de la bdd avec les critères correspondant aux en-têtes de colonne... help.

Merci beaucoup,

Thib
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
27 juin 2012 à 11:29
Bonjour,

Par contre, est-il possible de ne lancer la recherche via le filtre élaboré unqiuement aprés avoir cliqué sur un bouton ?
Bien sûr qu'on pourrait.
Mais il suffit de savoir où il se trouve dans le menu et de cliquer dessus...
La saisie des critères sera toujours à faire dans une plage de la feuille. Pas grande plus-value.

Mieux vaut apprendre à se servir des fonctionnalités natives d'excel que de jouer la facilité de cliquer sur un bouton non ?
Par exemple si tu peux aussi saisir plusieurs lignes de critères, ça te fait un OU sur chaque ligne (les critères sur un même lignes ont un ET)
Le filtre élaboré sera toujours plus souple et plus rapide qu'une macro, et n'est pas assez connu et utilisé à mon goût.
Le seul truc que je lui reproche est de ne pas pouvoir extraire sur une autre feuille. Mais bon, un couper-coller et c'est réglé.

eric
0
Merci pour votre réponse.

Donc je ne peux pas l'utiliser sur ma bdd est sur une autre feuille, je vais voir sir je peux copier coller, le nombre d'infos étant trés important !

En fait, je sais me servir des fonctionnalités natives d'excel, le problème ne vient pas vraiment de moi, mais je ne suis que de passage dans cette entreprise, et ceux qui seront amenés à utiliser cette bdd aprés moi ne sont vraiment pas doué sur excel, mais alors vraiment pas...

J'aimerai donc rendre celle ci le plus fonctionnel possible, en d'autres termes, rentrer les critères, cliquer sur un bouton de validation, puis voir apparaître les infos. Je suis d'accord avec vous, il est vraiment préférabel de connaître excel avant de s'en servir un minimum, mais je sais qu'il ne feront pas cet effort...

Merci encore,

Thib
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 27/06/2012 à 13:28
Re,

J'aimerai donc rendre celle ci le plus fonctionnel possible, en d'autres termes, rentrer les critères, cliquer sur un bouton de validation, puis voir apparaître les infos
Bon, je vais faire un effort alors : https://www.cjoint.com/?BFBm0tFqcwT

Je n'avais pas vu ça :
Est-il possible, via le filtre élaboré, de mettre moins de critères que ce que je souhaite faire apparaître ?
Autrement dit, puis-je en critère de recherche ne mettre que nom et spécialité, et faire apparaitre toutes les informations ?

Non, pas à ma connaissance.
Mais avec la nouvelle version tu peux masquer les colonnes indésirables dans les critères, les données seront présentes en feuil2.

De plus, dans l'exemple que vous m'avait donné du filtre avancé, la recherche ne s'actualise pas en appuyant sur entrée ? Dois-je mettre un bouton pour actualiser la page ?
Je ne comprend pas bien. Si les données ont changé il faut relancer le filtre élaboré c'est tout. Il n'a rien de dynamique


De plus, mon filtre avancé ne fonctionne

C'est que tu ne sélectionnes pas correctement la plage critère je pense.
Sélectionner les 2 lignes : titres et critères

Mais vu que tu le veux sur une autre feuille et que tu n'as que des critères simples avec sur 2 champs la solution la plus simple est le filtre automatique et copier-coller le résultat...
Le code se résume à :
Private Sub BtnExtraire2_Click() 
            [Feuil2].Cells.ClearContents    ' nettoyer Feuil2 
            [A:E].Copy [Feuil2!A1] 
            [Feuil2].Activate 
End Sub
https://www.cjoint.com/?BFBnCfc6DFk

eric
0
Excellent ! Merci beaucoup Eric...

D'ailleurs, un tel talent mérite d'être utilisé plus en détail, pourrais-je donc vous solliciter pour un problème à mon sens beaucoup plus complexe ?

Voila, j'ai réussi élaborer le filtre élaboré ! Donc je me retrouve avec les infos concernant les salariés qui correspondent à mes critères. Maintenant, attention les yeux, j'aimerais pouvoir utiliser les résultats de ma recherche pour éditer soit des étiquettes, soit un publipostage directement sur une lettre écrite sur word au préalable. 2tant donné qu'on ne peut apparemment pas éditer directement de publipostages ou d'etiquettes via excel, il faut passer par word. Et c'est la que le bât blesse.
Auriez vous une idée de comment procéder pour extraire mes resultats de recherche et les utiliser comme publipostage ? De manière assez fonctionnelle si possible... ?

Je pensais créer un bouton qui, après validation, enregistrerai mes resultats de recherche dans un tableau construit au préalable pour le publipostage, et quand on lance le fichier word, les infos se mettent a jour automatiquement, croyez vous cela possible ?
Voyez vous une meilleure solution ?

Merci beaucoup pour votre aide et votre grand talent !

Thib
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
27 juin 2012 à 15:49
Désolé mais word et le publipostage ce n'est pas ma tasse de thé...
Il vaut mieux que tu démarres une autre question.
N'oublie pas de mettre celle-ci en résolu.

eric
0
fais27 Messages postés 45 Date d'inscription samedi 14 avril 2012 Statut Membre Dernière intervention 27 juin 2012 1
27 juin 2012 à 22:17
bonjour,
je penses qu on peut le faire.
j'ai lu les reponses sur ton sujet, et l'exemple de eric etait bien fait.
tes resultats sont sur la meme feuille ou une autre.
a propos tu peux mettre tes criteres sur une autre feuille que celle de ta bdd et extraire les resulats sur la meme feuille que les criteres mais il faut lancer le filtrage depuis cette meme feuille, ou bien faire le tout dans une seule feuille et executer le code vb que ta donné eric un peu modifié.
0