Recupérer valeur dans textbox quand selection dans ComboBox
Bonjour à tous,
voilà, j'ai une combobox dans laquel j'affiche les noms de la colonne A de ma feuille excel, et je voudrais en sélectionnant le nom dans ma combobox que ça m'affiche dans ma textbox le prenom de la personne sélectionné (prénom qui se trouve dans ma colonne B), mais je ne sais pas comment faire j'ai des erreurs lorsque je lance ma macro
je vous montre mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Private Sub Ini() 'initialisation de l'USF
Dim CTRL As Control 'Variable pour la collection des controls
Dim L As Long 'Variable pour connaitre le numéro de derniere ligne
Dim i As Long 'Variable pour connaitre incrémenter les Data
Dim sItem As String 'mémorise le dernier élément mis en liste
Dim WS As Excel.Worksheet
'On Vide tous les Controls
For Each CTRL In Me.Controls
If TypeOf CTRL Is MSForms.TextBox Or TypeOf CTRL Is MSForms.ComboBox Then
CTRL = ""
End If
Next CTRL
Me.CmbNom.Clear 'On vide les précédentes données
Set WS = ThisWorkbook.Sheets("Base") 'On identifie l'objet pour la feuille de travail
L = WS.Range("A65536").End(xlUp).Row 'On identifie la dernière ligne en partant du bas
'Pour éviter les fash d'écran pour le select ci dessous
Application.ScreenUpdating = False
WS.Select 'On sélectionne la feuille sinon bug si elle ne l'est pas
WS.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort
For i = 3 To L 'Boucle départ 2 (Ligne 2 de la feuille, jusqu'à dernière
If WS.Range("A" & i) <> sItem Then
sItem = WS.Range("A" & i) 'evite les doublons dans la combo
Me.CmbNom.AddItem sItem
End If
Next i
Application.ScreenUpdating = True
End Sub
Private Sub CmbNom_Click() 'combo déclenché au click
If Me.CmbNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection
Txt1 = WS.Range("B" & Me.CmbNom.ListIndex + 2) 'On alimente les données correspondant à la ligne
'ici on initialise les Variable pour mémoriser le valeur précédente en cas de Modif
With Me
Nom = .CmbNom
End With
End Sub |
merci d'avance