Outil de recherche

paulinesna

XLDnaute Nouveau
Bonjour, bonjour,

Etant débutante pour tout ce qui concerne VB, je m'arrache un peu les cheveux.
J'ai crée une base de donnée (carnet d'adresse) et j'aimerais m'en servir pour extraire des données sans avoir à tout retaper à chaque fois.
Je m'explique : j'aimerais pouvoir, dans un autre fichier ou une autre feuille, taper le nom d'une personne, et que toutes les données que j'ai retranscrit dans ma base de données s'affichent. Ex : son prénom, son adresse...

J'avais commencé à créer une page avec un outil de recherche, mais ce n'est pas vraiment concluant.

Je joins mon fichier à ce message.

Aidez moi à me sortir de là :)
 

Pièces jointes

  • Carnet d'adresse.xlsm
    38.5 KB · Affichages: 187
  • Carnet d'adresse.xlsm
    38.5 KB · Affichages: 236
  • Carnet d'adresse.xlsm
    38.5 KB · Affichages: 243

Dranreb

XLDnaute Barbatruc
Re : Outil de recherche

Bonjour.
Vous auriez intérêt à remplacer votre TextBox par un ComboBox et alimenter sa propriété List avec les noms.
Une suite existante serait proposée à chaque frappe d'un caractère et vous vous dispenseriez de la recherche car sa propriété ListIndex+2 vous donnerait directement le numéro de ligne.
À +
 

paulinesna

XLDnaute Nouveau
Re : Outil de recherche

Merci, ça me semble intéressant...!

Par contre, pourrais-tu me dire en détail comment procéder pour programmer une combobox?!
Je suis un peu un boulet de VB!! Je commence à peine et le langage VB me semble super compliqué.

Avec les éléments que j'ai envoyé, peut être que tu pourrais m'aider?
 

Dranreb

XLDnaute Barbatruc
Re : Outil de recherche

Bonjour
Implante une "Zone de liste modifiable" (=ComboBox) à la place de la "Zone de texte" (=TextBox).
Utilise les listes déroulantes qui surmontent la fenêtre de code pour installer les modèles de procédures évènements :
Pour l'userform il te faut Userform_Activate ou Userform_Initialize pour affecter par exemple au ComboBox1.List = Feuil1.[A2].Resize(Feuil1.[A65536].End(XlUp).Row - 1).Value
Pour le combo il te faut ComboBox1_Change pour récupérer les infos de la ligne donnée par ComboBox1.ListIndex + 2
À +
 

Dranreb

XLDnaute Barbatruc
Re : Outil de recherche

Chez moi, pas d'erreur, après avoir mis une une "Zone de liste modifiable" nommée ComboBox1, cette procédure vite fait a fonctionné du premier coup:
VB:
Private Sub UserForm_Activate()
ComboBox1.List = Feuil1.[A2].Resize(Feuil1.[A65536].End(xlUp).Row - 1).Value
End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Outil de recherche

VB:
Private Sub ComboBox1_Change()
Dim Lig As Long, Prénom As String
Lig = ComboBox1.ListIndex + 2
If Lig > 1 Then
   Prénom = Feuil1.Cells(Lig, "B").Value
   MsgBox "Cette personne se prénomme " & Prénom, vbInformation, "Essais"
   End If
End Sub
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
335

Statistiques des forums

Discussions
312 304
Messages
2 087 068
Membres
103 453
dernier inscrit
Choupi