Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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

Cordialement,

Lucas
 

Kassn

XLDnaute Nouveau

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
 

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

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

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


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
845
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…