Bonjour,
Après avoir écumé plusieurs forums, je suis toujours en panne sur se problème.
On trouve beaucoup de solution avec une liaison type Range (plage nommée), qui fonctionne bien.
J'ai un tableau structuré lié à une ListBox type UserForm en mode MultiSelect fmMultiSelectMulti.
le but est de sélectionner plusieurs ligne de cette listbox pour les écrire dans une feuille excel.
j'ai posé ce code sur un bouton
Il y a uniquement 1 ligne qui est transcrites dans le feuille excel
merci pour votre temps...
Après avoir écumé plusieurs forums, je suis toujours en panne sur se problème.
On trouve beaucoup de solution avec une liaison type Range (plage nommée), qui fonctionne bien.
J'ai un tableau structuré lié à une ListBox type UserForm en mode MultiSelect fmMultiSelectMulti.
le but est de sélectionner plusieurs ligne de cette listbox pour les écrire dans une feuille excel.
j'ai posé ce code sur un bouton
VB:
Private Sub CommandButton3_Click()
Dim addme As Range
Dim cNum As Integer
Dim x As Integer
Dim y As Integer
Dim bSelected As Boolean
' Rows.count,1 - sur la feuille , Ecrit à partir de la 1er colonne
' Offset(1,0) - Permet un décalage vers le bas pour la prochaine écriture
Set addme = Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
bSelected = False
cNum = 7 ' Nombre de colonne de la source (plage nommée - Tableau nommé)
'Me.ListBox1.MultiSelect = fmMultiSelectMulti
For x = 0 To (Me.ListBox1.ListCount - 1)
' MsgBox "Numéro de la ligne source " & x
If Me.ListBox1.Selected(x) = True Then
bSelected = True
Debug.Print Me.ListBox1.List(x)
For y = 0 To cNum
addme.Offset(0, y) = Me.ListBox1.List(x, y)
Next y
Set addme = addme.Offset(1, 0)
End If
' supprime les valeurs
Me.ListBox1.Selected(x) = False
Next x
If bSelected = False Then
MsgBox "rien de sélectionné"
End If
End Sub
Il y a uniquement 1 ligne qui est transcrites dans le feuille excel
merci pour votre temps...