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
| 'Je mets ces variables en dehors des Sub pour pouvoir les utiliser dans plusieurs Sub.
Dim nom As String
Dim prenom As String
'Pour l'initialisation, rien de nouveau, j'ai repris ton code
Private Sub UserForm_Initialize()
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "80;80" ' Affiche les colonnes B à C
.ColumnHeads = True 'affiche entéte du tableau
.RowSource = "Feuil1!B2:C6" 'Endroit ou sont les donnée
End With
Label2.Caption = "- - -"
End Sub
'Quand je sélectionne une valeur dans la combobox, je veux récupérer le Nom Prénom de la personne que j'ai sélectionné et je veux compléter la Textbox avec l'âge de la personne
Private Sub ComboBox1_Change()
nom = ComboBox1.List(ComboBox1.ListIndex, 0) 'me permet de récupérer la valeur sélectionnée de la 1ère colonne (colonne n°0) de la combobox => soit dans mon exemple le nom de la personne sélectionnée
prenom = ComboBox1.List(ComboBox1.ListIndex, 1) 'me permet de récupérer la valeur sélectionnée de la 2ème colonne (colonne n°1) de la combobox => soit dans mon exemple le prénom de la personne sélectionnée
TextBox1 = Application.VLookup(nom & prenom, Sheets("Feuil1").Range("A1:D6"), 4, 0) 'je fais un RECHERCHEV dans le tableau source à partir de la clef = NomPrénom pour retrouver l'âge de la personne
Label2.Caption = nom & " " & prenom 'pas utile (c'était pour moi)
End Sub
'Quand je clique sur "Modifier", je veux modifier l'âge de la personne sur la BDD sur la feuille Excel
Private Sub CommandButton1_Click()
Dim ligne As Integer
ligne = Application.Match(nom & prenom, Sheets("Feuil1").Range("A:A"), 0) 'Je cherche la ligne sur laquelle est la personne sélectionnée, grâce à la clef NomPrénom
Sheets("Feuil1").Range("D" & ligne) = TextBox1 'Je modifie l'âge de la personne sélectionnée : cet âge est écrit en colonne D ligne "ligne".
End Sub |
Partager