XL 2010 ListBox to TextBox

Kassn

XLDnaute Nouveau
Bonjour a tous,

Une question peut-être un peu bête et ultra simple pour vous et je m'en excuse !

Je cherche a prendre les données d'une ListBox pour les transférer vers une TextBox.

Après plusieurs recherche j'ai trouver le code de BrunoM45 ( https://www.excel-downloads.com/threads/de-listbox-vers-textbox.97880/) remanier pour mon fichier :

VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Dim VTexte As String
  VTexte = ""
  For i = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) = True Then
      VTexte = VTexte & Me.ListBox1.List(i) & vbCrLf
    End If
  Next i
  stock.projet.Text = VTexte
  stock.Show

End Sub

Il fonctionne, cependant il m'affiche le caractère spéciale "paragraphe" ce qui n'est pas très esthétique :p
Je pense être sur la bonne voie mais je ne voie pas comment incrémenter les autres données de ma ListBox.

Dois-je refaire un un For pour chaque donnée que je souhaite ou existe t-il un moyen de réunir le tout ?

J'ai essayer également un autre code :

VB:
Private Sub ListBox1_Click()
  With ListBox1
    projet = .List(.ListIndex, 0)
    nmoule = .List(.ListIndex, 1)
    mtype = .List(.ListIndex, 2)
    ref = .List(.ListIndex, 3)
 
 
  End With

Mais celui-la ne fonctionne pas malheuresement :/

Je vous laisse mon fichier pour avoir un aperçu de ce que j'ai fait pendant quelque jours.
Il ne contient aucune donnée confidentiel c'est simplement des référence interne.

Je vous remercie de votre aide :)

Cordialement,

Lucas
 

Pièces jointes

  • Test MagasinV3 .xlsm
    62 KB · Affichages: 7

xUpsilon

XLDnaute Accro
Bonjour,

Autoriser le multiligne aiderait grandement effectivement haha. Et sinon plutot que de t'embeter à boucler sur toutes les valeurs de ta listbox, tu ferais mieux d'utiliser la propriété Listbox1.Value qui te renverra directement la valeur sélectionnée, sans avoir besoin de tester chaque index un par un.

Bonne continuation
 

Kassn

XLDnaute Nouveau
Bonjour Kassn
peut etre en supprimant le Vbcrlf ,mettre un espace
et mettre ton textbox sur multiligne
jean marie
Bonjour ChTi160,

Merci pour l'astuce du Vbcrlf, plus de caractère spécial !

En revanche pour ce qui est de la textbox multiligne, étant donner que je dois récupérer les infos de la listBox pour les transférer dans PLUSIEURS Textbox, je ne pense pas que ce soit la solution, a moins que j'ai zaper quelques minutes de mon cours o_O

Cordialement,

Lucas
 

Kassn

XLDnaute Nouveau
Bonjour,

Autoriser le multiligne aiderait grandement effectivement haha. Et sinon plutot que de t'embeter à boucler sur toutes les valeurs de ta listbox, tu ferais mieux d'utiliser la propriété Listbox1.Value qui te renverra directement la valeur sélectionnée, sans avoir besoin de tester chaque index un par un.

Bonne continuation

Bonjour xUpslion et désolé du double post !

ça marche, je fait mes petites rechercher & modif et je reviens vers vous si nécessaire :)

Cordialement,

Lucas
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Peut-être est-ce ceci que vous voulez?
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With ListBox1
        If .ListIndex > -1 Then
            stock.projet.Text = .Column(0, .ListIndex)
            stock.mtype.Text = .Column(1, .ListIndex)
            stock.code = .Column(2, .ListIndex)
            stock.ref = .Column(3, .ListIndex)
            stock.Show
        End If
    End With
End Sub

Cordialement
 

Kassn

XLDnaute Nouveau
Re
tu dois mettre quoi dans tes textbox.
plusieurs mots ou juste un par textBox?
jean marie
Re ,

Je te joint une image pour être un peu plus précis dans mes explications
Sans titre.png
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

N'est-ce pas ce que font les lignes que je vous ai données dans le post #7?
Il y a peut-être erreur sur les numéros de colonnes mais à vous de corriger.
ci-dessous numéro de moule ajouté
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With ListBox1
        If .ListIndex > -1 And ComboBox1.ListIndex > -1 Then
            stock.nmoule = ComboBox1.Value
            stock.projet.Text = .Column(0, .ListIndex)
            stock.mtype.Text = .Column(1, .ListIndex)
            stock.code = .Column(2, .ListIndex)
            stock.ref = .Column(2, .ListIndex)
            stock.Show
        End If
    End With
End Sub

cordialement
 

Kassn

XLDnaute Nouveau
Bonjour,

Peut-être est-ce ceci que vous voulez?
VB:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With ListBox1
        If .ListIndex > -1 Then
            stock.projet.Text = .Column(0, .ListIndex)
            stock.mtype.Text = .Column(1, .ListIndex)
            stock.code = .Column(2, .ListIndex)
            stock.ref = .Column(3, .ListIndex)
            stock.Show
        End If
    End With
End Sub

Cordialement

EDIT: roblochon : je faisais mon magnifique montage paint du coup votre réponse ma échapper :p

Cela fait bizarre de remercier un fromage mais, merci Roblochon ! c'est exactement ce qu'il me fallait !

Je vais faire quelque petites améliorations dans ma mise en page mais tous devrais être bon, merci encore :)

Cordialement,

Lucas
 

ChTi160

XLDnaute Barbatruc
Re donc un mot par textbox
With me.Listbox1
Me.Textbox1=.List (.Listindex,0)
Me.TextBox2=.List(.Listindex,1)
End With
etc etc(pas d ordi)
je pense que Roblochon a aussi cerne la demande.
jean marie
Edit
Roblochon .
pourquoi le stock.show ?
 

Kassn

XLDnaute Nouveau
Re donc un mot par textbox
With me.Listbox1
Me.Textbox1=.List (.Listindex,0)
Me.TextBox2=.List(.Listindex,1)
End With
etc etc(pas d ordi)
je pense que Roblochon a aussi cerne la demande.
jean marie
Edit
Roblochon .
pourquoi le stock.show ?


Je garde votre réponse sous le coude !

Je me permet de répondre : Stock.Show car mon Userform dans lequel sont les textbox est nommé Stock :) alors que ma Listbox se situe dans le Userform Moule
 

Discussions similaires

Réponses
17
Affichages
802

Statistiques des forums

Discussions
312 083
Messages
2 085 182
Membres
102 808
dernier inscrit
guo