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

  • Initiateur de la discussion Initiateur de la discussion NONO14
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
...
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
7
Affichages
411
  • Question Question
Microsoft 365 ListBox TextBox
Réponses
5
Affichages
2 K
Retour