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.
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.
À +
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?
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
À +
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