Bonjour, j'ai créé un userform et je n'arrive pas à faire marcher mon codage. J'aimerai, en saisissant un nom dans un textbox, faire apparaître son code à l'intermédiaire d'un bouton, mais ça ne marche pas, quelqu'un pour me débloquer ? thanks !
(Etant donné qu'il y aura trop de nom, je ne veux pas de combobox)
(En PJ une image comme ça vous comprenez parfaitement ce que je souhaite)
Bonjour.
Mettez une ComboBox au lieu de la TextBox.
Mais mettez sa propriété ShowDropButtonWhen à 0 pour encourager fortement le choix uniquement par frappe.
Notez qu'après avoir tapé quelques caractères, la liste pourra être affichée quand même, si besoin est, par touches Alt+flèche bas.
Ne mettez pas de MsgBox, mais un Label dans l'UserForm
Dans la Sub UserForm_Initialize Affectez la Value de la plage en 1ère colonne à sa List.
Dans la Sub de l'évènement Change de la ComboBox utilisez son ListIndex pour trouver le décalage par rapport à la 1ère cellule de la seconde colonne. Affecté la Value de cette cellule au Caption du Label.
Qu'est-ce qui vous bloque ?
Utilisez les deux grandes listes déroulantes qui surmontent la fenêtre de code.
Elles vous aideront à implanter les modèles de procédures évènements.
Private Sub CommandButton1_Click()
Dim c As Range
Set c = Sheets("Feuil2").Columns(1).Find(TextBox1, , xlValues, xlWhole)
If TextBox1 <> "" And Not c Is Nothing Then MsgBox c(1, 2)
End Sub
ou sans bouton :
Code:
Private Sub TextBox1_Change()
Dim c As Range
Set c = Sheets("Feuil2").Columns(1).Find(TextBox1, , xlValues, xlWhole)
If TextBox1 <> "" And Not c Is Nothing Then MsgBox c(1, 2)
End Sub