Faire une recherche dans une base de données

jeremy57

XLDnaute Nouveau
Bonjour,

Je dois actuellement faire un programme en VBA dans le cadre de mes études et je suis plutôt débutant. Je bloque sur un point précis.
Je souhaite effectuer une recherche par nom dans une base de données et une fois que le nom est trouvé, j'aimerais afficher dans une Userform "fiche client" toutes les caractéristiques du client que j'ai recherché. J'ai aucune idée comment faire, je sais pas pas si cela est possible.
Si une personne a une idée, il est le bienvenue
Je mets mon fichier en ligne pour mieux comprendre de quoi il s'agit
Merci d'avance
 

Pièces jointes

  • Balné'eau.xlsm
    250 KB · Affichages: 92

Tatiana29

XLDnaute Occasionnel
Re : Faire une recherche dans une base de données

commence par aller chercher un tototiel et démarre sur des petits exemples et ca va venir.
ce que tu souhaites faire est assez trivial mais il faut que tu maitrises les bases pour te lancer.
Moi je ne connaissais rien ,je m'y suis mis et je commence à savoir faire des trucs!
Allez!
 

JNP

XLDnaute Barbatruc
Re : Faire une recherche dans une base de données

Bonjour Jeremy57 et bienvenue :),
Tu trouveras plein d'exemples sur le forum, entre autre ce fil (assez long :p), mais qui te décrira bien la marche à suivre :rolleyes:...
Sinon, pour ton problème bien précis, utilises la méthode Find (jettes un oeil à l'aide VBA), et tu pourras ramener la ligne souhaitée avec Row.
Bon courage :cool:
 

JNP

XLDnaute Barbatruc
Re : Faire une recherche dans une base de données

Re :),
Comment fonctionne la fonction Find? je suis un peu perdu? si quelqu'un pourrait me mettre sur la voie
Range.Find, méthodeCette méthode recherche des informations spécifiques dans une plage.
Syntaxe
expression.Find(Quoi, Après, RechercherDans, Regarder, OrdreRecherche, SensRecherche, RespecterCasse, RespecterNbreOctets, FormatRecherche)
expression Variable qui représente un objet Range.
Paramètres
NomObligatoire/FacultatifType de donnéesDescriptionQuoiObligatoireVarianteDonnées à rechercher. Il peut s'agir d'une chaîne ou de tout autre type de données Microsoft Excel.AprèsFacultatifVarianteCellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu'une recherche est effectuée à partir de l'interface utilisateur. Notez que l'argument Après doit correspondre à une seule cellule de la plage. Rappelez-vous que la recherche commence après cette cellule ; la cellule spécifiée n'est pas recherchée jusqu'à ce que la méthode revienne à cette cellule. Si vous ne spécifiez pas cet argument, la recherche commence après la cellule située dans le coin supérieur gauche de la plage.RechercherDansFacultatifVarianteType d'informations.RegarderFacultatifVarianteIl peut s'agir de l'une des constantes XlLookAt suivantes : xlWhole ou xlPart.OrdreRechercheFacultatifVarianteIl peut s'agir de l'une des constantes XlSearchOrder suivantes : xlByRows ou xlByColumns.SensRechercheFacultatifXlSearchDirectionDirection de la recherche.RespecterCasseFacultatifVarianteTrue pour que la recherche respecte la casse. La valeur par défaut est False.RespecterNbreOctetsFacultatifVarianteS'utilise uniquement si vous avez sélectionné ou installé la prise en charge des langues codées sur deux octets. True pour que les caractères codés sur deux octets ne correspondent qu'aux caractères codés sur deux octets. False pour que les caractères codés sur deux octets correspondent à leurs équivalents codés sur un octet.FormatRechercheFacultatifVarianteFormat de la recherche.
Valeur renvoyée
Objet Range qui représente la première cellule où ces informations sont trouvées.

Remarques
Cette méthode renvoie Nothing si aucune correspondance n'est trouvée. La méthode Find n'affecte pas la sélection ni la cellule active.
Les paramètres des arguments RechercherDans, Regarder, OrdreRecherche et RespecterNbreOctets sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucune valeur pour ces arguments lors du prochain appel à la méthode, les valeurs enregistrées sont utilisées. Le fait de définir ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments explicitement chaque fois que vous utilisez cette méthode.
Exemple
Code:
Dim Cellule As Range
Set Cellule = Range("A:A").Find(What:="Toto", LookIn:=xlFormulas, _
        LookAt:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not Cellule Is Nothing Then MsgBox Cellule.Row
Bon courage :cool:
 

david84

XLDnaute Barbatruc
Re : Faire une recherche dans une base de données

Bonjour,
@jeremy57 : concernant l'utilisation Find, tu peux regarder le site de JB (exemples ,explications et classeurs à télécharger).
@Jean-Noël:) : ça m'a fait tout drôle de relire ce fil:eek:... un peu plus d'un an déjà (quand je relis certaines de mes questions, je me marre:rolleyes:!).
A+
 

jeremy57

XLDnaute Nouveau
Re : Faire une recherche dans une base de données

Malgré toutes vos aides, j'arrive pas à appliquer cela sur mon programme. Mon niveau en VBA étant plutôt faible, la plupart des choses que je lis est difficilement compréhensible pour moi. Mais tant pis, étant dessus depuis ce matin, mon niveau de concentration ne suit plus lol. Et oui pour quelqu'un qui ne s'y connait pas super en info, c'est difficile de geeker si longtemps lol
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 755
Membres
103 945
dernier inscrit
Rémi