copier 2 colonnes de litbox dans 2 feuilles

  • Initiateur de la discussion Initiateur de la discussion albert
  • Date de début Date de début

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 !

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

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+++
 
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)
 
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+++
 
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+++
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour