créer un moteur de recherche avec une macro

loubjm

XLDnaute Nouveau
Bonsoir,

dans le cadre d'un projet je réalise la constitution d'un fichier client commun à moi et mes collègues,
ce fichier recense une liste de clients avec pour chacun d'entre eux la ou les personnes à contacter avec leur ligne directe.
chaque client est identifié par un numéro client.

je joins à mon message un fichier excel qui épouse les même codes que mon fichier :
- en page 1 : le moteur de recherche et l'affichage du résultat en bas de page
- en page 2 : la base de données

s'agissant d'une grosse base client, l'idée est de gagner du temps sur la recherche d'info et donc de bannir la solution "filtre",
je souhaite que l'utilisateur tape dans la case de recherche soit le nom du client soit le numéro client,
s'affiche alors le ou les résultats recherchés juste en dessous (affichage des lignes de la base de données dans lesquelles le mot clé a été trouvé).

pour l'histoire j'ai suivi une formation VBA de 2 jours la semaine dernière pour essayer de répondre à mon problème mais une fois seul devant l'outil c'est du "chinois".

Merci par avance si quelqu'un à la gentillesse de pouvoir m'apporter son expertise :eek:

cdlt

JM
 

Fichiers joints

Calvus

XLDnaute Barbatruc
Re : créer un moteur de recherche avec une macro

Bonsoir loubjm,

Regarde si cela te convient.

J'ai fait 2 listes de validation, afin de choisir le client ou son numéro.

Tu peux sélectionner un client, ou laisser vide et chercher via le numéro.

Il suffit ensuite de cliquer sur le bouton de recherche.

Dis nous si ça va.

A+
 

Fichiers joints

Dernière édition:

fhoest

XLDnaute Accro
Re : créer un moteur de recherche avec une macro

Bonjour Calvus ;) (plus rapide que moi...),loubjm
voici un autre code (sans comparaison avec Calvus,car j'ai fait ce code entre temps,sans avoir vu le sien, qui à mon avis correspond également à ta demande)
A toi de voir.
il faut mettre le code derrière le bouton recherche.
Code:
Option Compare Text

Sub recherche()


Dim c As Range
Dim plage As Range
Dim i As Byte
Dim j As Byte
j = 13
Sheets("accueil").Range("A14:D100").Clear
Set plage = Sheets("base").Range("A4:B9") ' a adapter
For Each c In plage
If c Like "*" & Sheets("accueil").Range("C6").Value & "*" Then
j = j + 1
For i = 1 To 4
Sheets("accueil").Cells(j, i).Value = Sheets("base").Cells(c.Row, i).Text
Next
End If
Next
End Sub
A bientôt.
 

loubjm

XLDnaute Nouveau
Re : créer un moteur de recherche avec une macro

bonsoir,

Merci Calvus pour ta réactivité :)

d'un point de vue affichage du résultat c'est pile ce dont j'ai besoin,
en revanche je souhaite "taper" un mot clé dans la zone recherche et non sélectionner dans une liste déroulante, un peu comme un Google quoi. la base client comporte des centaines de noms, donc la liste déroulante ne sera pas pratique.

autre petit souci, il peut y avoir plusieurs résultats pour un même nom ou un même numéro client, tous les résultats doivent s'afficher et pas seulement le premier trouvé dans la liste.

quoiqu'il en soit, merci encore pour ton aide.

cdlt
 

loubjm

XLDnaute Nouveau
Re : créer un moteur de recherche avec une macro

Fhoest merci, ça fonctionne super !

me reste plus qu'a importer ça dans le vrai fichier ^^

bonne soirée à vous 2
 

MISSK 971

XLDnaute Nouveau
BonjourCalvus XLDnaute Accro
Bonjour à tous
j'ai besoin d'aide urgente

j'ai besoinde réaliser sous excel un sorte de moteur de recherhe

il faudrait renseigner des filtre et cliquer sur rechercher

le filtre colonne A détermine les champs qui doivent apparaitre dans la colonne B et ainsi de suite

Mais ça ne fonctionne pas la liste déroutante qui apparait dans la colonne B ne se réduit pas en fonction du premier critère colonne A choisi


a l'aide !!
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas