Récuperer Selection Listbox dans UNE cellule

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 !

keepcool183

XLDnaute Occasionnel
Bonjour à tous 🙂

Je suis en train de construire un formulaire et je bloque sur comment transférer la sélection d'une listbox vers une seule cellule.

J'ai monté le code suivant
Code:
With Listbox1
  For X = 0 To .ListCount - 1
    If .Selected(X) = True Then
   t = t & Chr(10) & .List(X)
     Sheets(UF1.visite.Value).Range("Z" & L) = t
End If
Next X
End With
End Sub

Le code marche mais il ne me renvoi deux fois ma selection.

Exemple si je sélectionne Personnel et Externe dans ma cellule j'ai :
Personnel
Externe
Personnel
Externe

Et ainsi de suite.... 😀

Merci à ceux qui me liront 😉
 
Re : Récuperer Selection Listbox dans UNE cellule

Bonjour

modifies ainsi

Code:
With Listbox1
  For X = 0 To .ListCount - 1
    If .Selected(X) = True Then
   t = t & Chr(10) & .List(X)
     
End If
Next X
End With
Sheets(UF1.visite.Value).Range("Z" & L) = t

End Sub
 
Re : Récuperer Selection Listbox dans UNE cellule

Bonjour PascalXLD,

Merci pour ta réponse rapide.

J'ai modifié le code comme tu l'as suggérés mais ça ne change rien. 🙁

Le problème a mon avis vient du :

t = t & Chr(10) & .List(X)

Mais j'ignore comment mieux formuler ça. 😀
 
Re : Récuperer Selection Listbox dans UNE cellule

Re,

Oui je l'ais bien mis après le "End with".

J'aimerais mettre un bout du fichier mais j'ai beau supprimé plein de truc il est toujours trop gros (24Mo à la base).

J'avoue que je comprends pas pourquoi ce dédoublement arrive, j'ai déjà utilisé ce code sans aucun soucis mais la .....
 
Re : Récuperer Selection Listbox dans UNE cellule

Re,

Code:
Private Sub b_validation1_Click()
       
L = Sheets(UF1.visite.Value).[B65000].End(xlUp).row + 1
Sheets(UF1.visite.Value).Range("B" & L).Value = UCase(TextBoxNumero.Value)
TextBoxNumero.Value = Sheets(UF1.visite.Value).Range("B" & L) + 1

      If Me.TV = "" Then
      MsgBox "Veuillez saisir un type"
      Me.TV.SetFocus
      Exit Sub
   End If
     If Me.HRV = "" Then
      MsgBox "Veuillez saisir le nombre d'heure"
      Me.HRV.SetFocus
      Exit Sub
   End If
         If UF1.visite.Value = "" Then
         MsgBox "Veuillez saisir un numéro de visite (Fiche client)"
                  End If
         
For Y = 11 To 120
For i = 1 To 13
Y = Y + 1
Sheets(UF1.visite.Value).Cells(L, Y) = Controls("CTRL" & i).Value
Next i

Next
 With P1
  For X = 0 To .ListCount - 1
    If .Selected(X) = True Then
   t = t & Chr(10) & .List(X)
End If
Next X
End With
Sheets(UF1.visite.Value).Cells(L, 26) = Mid(t, 2)
End Sub

J'ai mis que le code du bouton, mais si tu veux je peut mettre tous le code de l'USF.

Encore une fois Merci 😉
 
Re : Récuperer Selection Listbox dans UNE cellule

RE

ok c'est normal ton t est déclaré au niveau de ton UF

donc ajoutes avant t=""
Code:
t=""
 With P1
    For X = 0 To .ListCount - 1
        If .Selected(X) = True Then
        t = t & Chr(10) & .List(X)
        End If
    Next X
    Sheets(UF1.visite.Value).Cells(L, 7) = Mid(t, 2)
End With

PS : je n'avais pas compris que c'était après plusieurs validations
 
Re : Récuperer Selection Listbox dans UNE cellule

Re,

Halelujjah 😀 ça marche Merci à toi Pascal.

Franchement je n'y aurais pas pensé tout seul ^^.

Une dernière question pourquoi faut mettre : t = ""

Juste pour comprendre le principe et au cas où l'appliquer plus tard 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Retour