Bonjour,
Private Sub CommandButton1_Click()
Dim i%, mot
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then mot = mot & ";" & .List(i)
Next i
mot = Replace(mot, ";", "", 1, 1)
End With
'pour visualiser
MsgBox Replace(mot, ";", Chr(10))
'
Unload Me
End Sub
Private Sub UserForm_Initialize()
ListBox1.List = ActiveSheet.Range("A1:B9").Value
End Sub
Inventerais-tu de nouvelles règles ? Ces procédures sont des procédures d'évènements ! Et à ce titre, privées par définition !!
Propriétés de la ListBox (dans fenêtre de propriétés) :
.BoundColumn = 2
.ColumnCount = 2
.ColumnWidths = 0 pt
Par ailleurs :
mot laissé en Variant, permet éventuellement de splitter la chaîne : mot = Split(mot, ";")
A ce titre, il n'est pas forcément opportun de faire disparaître le 1er ";" de mot [NB- j'ai substitué le 1er au dernier, car plus simple à modifier avec Replace, et pour le motif qui suit...] : si on splitte, on est assuré d'un tableau à 2 éléments minimum dont le premier est nul, éléments qu'on peut lister de 1 à UBound(mot)...
Cordialement.