Microsoft 365 Récupération données ListBox dans TextBox

NONO14

XLDnaute Impliqué
Bonjour,
Avec ce code, après un clic sur une ligne de ma ListBox (Lst_Employ) je récupére les données dans 4 TextBox (Txt_Code, Txt_Nom, Txt_Prénom, Txt_Temps).
Il fonctionne bien pour 3 TextBox sauf la Txt_Code où je suis obligé de cliquer sur une autre ligne pour le code s'affiche, ensuite je n'ai plus de soucis d'affichage.
Je ne comprends pas pourquoi ça fonctionne ainsi, j'ai certainement dû oublier quelque chose.
Pouvez-vous m'éclairer s'il vous plait ?
Merci par avance

VB:
Private Sub Lst_Employ_Click()

'Vérifie si une ligne a été sélectionné
    If Me.Lst_Employ.ListIndex <> -1 Then
    
'On récupère les valeurs de la ligne sélectionnée dans les TextBox
        Me.Txt_Code.Value = Me.Lst_Employ.List(Me.Lst_Employ.ListIndex, 0)
        Me.Txt_Nom.Value = Me.Lst_Employ.List(Me.Lst_Employ.ListIndex, 1)
        Me.Txt_Prénom.Value = Me.Lst_Employ.List(Me.Lst_Employ.ListIndex, 2)
        Me.Txt_Temps.Value = Me.Lst_Employ.List(Me.Lst_Employ.ListIndex, 3)
    End If

End Sub
 
Solution
Re
Bonjour sylvanu
j'allais le dire Lol
Ce qui serait plus logique , c'est de mettre le Control "Txt_Code" en première position sur le Userform!
Tu supprimes alors la procédure
VB:
Txt_Code_Change
ce que j'ai mis comme Procédure et qui semble fonctionné :
VB:
Private Sub Lst_Employ_Click()
'Vérifie si une ligne a été sélectionné
With Me
 With .Lst_Employ
    If .ListIndex <> -1 Then
'On récupère les valeurs de la ligne sélectionnée dans les TextBox
         Me.Txt_Code.Value = .List(.ListIndex, 0)
         Me.Txt_Nom.Value = .List(.ListIndex, 1)
         Me.Txt_Prénom.Value = .List(.ListIndex, 2)
         Me.Txt_Temps.Text = Application.Text(.List(.ListIndex, 3), "[h]:mm")
    End If
  End With
End With
End Sub
...

Discussions similaires

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83