copier 2 colonnes de litbox dans 2 feuilles

A

albert

Guest
Bonjour à tous, bonjour forum,

Depuis un moment je tente de recopier dans 2 feuilles différentes, le contenu d’1 listbox comportant 2 colonnes :
- J’effectue un choix multiple dans userform1
Il y a une colonne de chiffres, recopiée dans la colonne « J » de la Feuil1

- il y a une colonne de lettres, sélectionnée en même temps brr,bzz…j’essaie de transférer ces lettres dans Feuil2 en D1, E1… etc…en respectant l’ordre des choix …

Je suis un peu démuni pour recopier les lettres…

Un p’tit coup d’main serait bienvenu…

Merci d’avance

albert
 

Pièces jointes

  • Choix_multiple.zip
    13.6 KB · Affichages: 17
Z

ZON

Guest
Salut albert et le forum,

D'aprés ce que j'ai compris, tu n'arrives pas à récupérer les donneés de ta 2 eme colonne, VBA crée un tableau dynamique pour les listbox, donc pour récuperer les valeurs du premier élément de la listbox :
de ta colonne1 Listbox1.list(1) 'idem que Listbox1.list(1,0)
pour la 2 eme colonne Listbox1.list(1,1)
pour la N eme colonne Listbox1.list(1,n)


A+++
 
A

albert

Guest
Bonsoir zon,
Sympa de répondre aussi rapidement.

En effet, je ne sais pas comment récupérer la 2ème colonne…
J’ai bien compris l’utilité d’ajouter une ligne de code :
« pour la 2 eme colonne Listbox1.list(1,1) »

mais je ne sais pas à quel moment l’indiquer :
dans les propriétés listbox1, j’ai :
- ColumnCount 2
- Rowsource V2 :W120

Je ne vois pas où compléter les propriétés…

Quant au code, il reste encore plus mystérieux :

Private Sub CommandButton1_Click()
Dim J As Variant
Dim I As Variant

J = 5
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(J, 10) = .List(I)
.Selected(I) = False
J = J + 1
End If
Next
End With

End Sub


Private Sub ListBox1_GotFocus()
ListBox1.MultiSelect = fmMultiSelectExtended
Range("J5", Cells(ListBox1.ListCount, 10)).ClearContents
End Sub

Private Sub CommandButton2_Click()
Call ListBox1_GotFocus
End Sub

Private Sub ListBox1_Click()

End Sub

Private Sub UserForm_Click()

End Sub



... sans vouloir abuser, si tu pouvais m'indiquer la procédure de construction
merci d'avance (dur de s'y remettre après les vacances)
 
Z

ZON

Guest
Re,

Apparemment tu mets tes valeurs dans la feuille active,

Private Sub CommandButton1_Click()
Dim J As Variant 'mettre en byte
Dim I As Variant 'mettre en byte

J = 5
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(J, 10) = .List(I)
Cells(J, 11) = .List(I,1) 'dans la colonne J par exemple
.Selected(I) = False
J = J + 1
End If
Next
End With

End Sub

A+++
 
A

albert

Guest
Tu es plus rapide que moi (pas d’mal)
J’avais essayé
Sheets("Feuil2").Cells(J, 12) = .List(1, 1)
Qui envoie 3 fois bzz dans Feuil2

Merci pour ton code, je vais me débrouillé avec il

bonne soirée
albert
 
Z

ZON

Guest
Re,

Tiens bizarre ce que nous fait XLD aujourd'hui, il apparait ton fichier dans le 1 er post maintenant et des posts qui n'arrivent pas .
Content que tu es réussi albert.


Par mettre en byte il fallait juste changer Dim I as byte,J as byte


A+++
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet