Récuperer Selection Listbox dans UNE cellule

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.... :D

Merci à ceux qui me liront ;)
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

keepcool183

XLDnaute Occasionnel
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. :D
 

keepcool183

XLDnaute Occasionnel
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 .....
 

keepcool183

XLDnaute Occasionnel
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 ;)
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

keepcool183

XLDnaute Occasionnel
Re : Récuperer Selection Listbox dans UNE cellule

Re,

Halelujjah :D ç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 ;)
 

Discussions similaires

Réponses
17
Affichages
919

Statistiques des forums

Discussions
312 497
Messages
2 088 990
Membres
104 000
dernier inscrit
dinelcia