bonsoir a tous
je cherche depuis un moment,
dans une listbox, avec la possibilité de séléctionné plusieurs ligne ( fmMultiSelectMulti), je voudrais récupérér les lignes sélectionné dans une feuilles vierges
merci pour votre aide
bonsoir a tous
je cherche depuis un moment,
dans une listbox, avec la possibilité de séléctionné plusieurs ligne ( fmMultiSelectMulti), je voudrais récupérér les lignes sélectionné dans une feuilles vierges
merci pour votre aide
Bonsoir,
http://silkyroad.developpez.com/VBA/...serForm/#LII-G
Il y a un exemple pour boucler sur les données selectionné tu as juste a l'adapter pour le mettre dans un onglet au lieu d'une messagebox
merci
le terme a comprendre est boucler
j'ai donc pris ce code
mais après je ne vois pas ce que je dois faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CommandButton1_Click() Dim i As Integer 'Les index des Listbox commencent par zéro For i = 0 To ListBox1.ListCount - 1 Debug.Print ListBox1.List(i) Next i End Sub
comment transférer ma sélection dans la feuille 2 depuis la cellule a1
bonsoir bosk1000 l' ami Krovax le forum une approche de solution
dans ma listobox1 3 colonnes a adapter!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub CommandButton1_Click() Dim element As Boolean, nb As Byte, i As Integer element = False nb = ListBox1.ListCount For i = 0 To nb - 1 If ListBox1.Selected(i) = True Then element = True With Sheets(2) .Range("A65536").End(xlUp)(2) = ListBox1.List(i, 0) .Range("b65536").End(xlUp)(2) = ListBox1.List(i, 1) .Range("c65536").End(xlUp)(2) = ListBox1.List(i, 2) End With: End If: Next: Beep If element = False Then MsgBox "vous n'avez rien selectionné" End Sub
Pour une listbox multiselection
Il suffira d 'adapter ce code sur la feuille le nom de feuille la ligne de départ à insérer et la colonne à remplir .......
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim i As Byte Dim iLig as Integer Dim Xls as Worksheet iLig=2 set Xls = ThisWorkBook("le nom de la feuille") 'boucle sur les éléments de la listbox For i = 0 To ListBox1.ListCount - 1 ' on verifie si la ligne est selectionnée If ListBox1.Selected(i) = True Then Xls.Cells(iLig,2)= ListBox1.List(i) iLig=iLig+1 end if Next i
Bonne continuation![]()
merci a vous tous
Lynx92260, je n'ai pas réussi car "lLig" me ressort comme une variable non définie, et quelle terme dois-je utiliser pour sélectionner la colonne
exemple : Columns("A:A")
laetitia, j'ai réussi avec ton code mon test, mais j'ai 1 bémol
- les éléments se mette à partir de la 2eme ligne, je voulais la faire a partir de la 1er, j'ai changé le 2 en 1 de cette ligne de code
mais ça ne la pas fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 .Range("A65536").End(xlUp)(2) = ListBox1.List(i, 0)
voir correction dans le code de mon dernier message .
La colonne A est 1 donc Cell(iLig,1)=......
C 'est bon la ?![]()
re essai comme cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub CommandButton1_Click() Dim element As Boolean, nb As Byte, i As Integer, z As Byte element = False nb = ListBox1.ListCount For i = 0 To nb - 1 If ListBox1.Selected(i) = True Then element = True If Sheets("feuil2").[a1] <> "" Then z = 2 Else z = 1 With Sheets("feuil2") 'nom de ta feuille .Range("A65536").End(xlUp)(z) = ListBox1.List(i, 0) .Range("b65536").End(xlUp)(z) = ListBox1.List(i, 1) .Range("c65536").End(xlUp)(z) = ListBox1.List(i, 2) End With: End If: Next: Beep If element = False Then MsgBox "vous n'avez rien selectionné" End Sub
laetitia, je viens de tester ton code, c'est bon
merci
Lynx92260, j'ai réussi a adapté ton code
merci a vous deux
laetitia, s'il te plait, peux tu m'expliquer la difference entre :
et aussi à quoi sert
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 - ListBox1.ListCount - ListBox1.Selected(i) - ListBox1.List(i, 0)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Next: Beep
re le beep c'est seulement pour faire un peu de bruit quand tu as clique sur le bouton tu es sur que l operation a bien éte faite. on peut mettre une message aussi.
Renvoie le nombre d'entrées de liste d'un contrôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ListBox1.ListCount
quand tu boucle sur sur ta liste prend en consideration tous les élements selectionner (true)
Code : Sélectionner tout - Visualiser dans une fenêtre à part If ListBox1.Selected(i) = True Then
selectionne ta premiere colonne tu as remarque que dans une listbox la premiere colonne demarre 0 et non 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part ListBox1.List(i, 0)
si tu as dix colonne tu selectionne la derniere =9 et non 10 ect...
ton code on aurait pus le simpliflier si tu as qu'une colonne est tu veus demarrer sur la cell a1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Option Explicit Private Sub CommandButton1_Click() Dim i As Integer, z As Byte 'variables For i = 0 To ListBox1.ListCount - 1 ' boucle sur les elements de la liste If ListBox1.Selected(i) = True Then 'si selection If Sheets("feuil2").[a1] <> "" Then z = 2 Else z = 1 ' tiens compte pour demarrer en cell a1 Sheets("feuil2").Range("A65536").End(xlUp)(z) = ListBox1.List(i) 'selection de la colonne End If: Next End Sub
c'est limpide
avec tes codes je suis toujours comme ça pour toi
![]()
Partager