|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Date d'inscription: juin 2008
Localisation: Eure et loir
Messages: 423
|
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 |
|
|
|
|
|
#2 |
|
Expert Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
|
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 |
|
|
|
|
|
#3 |
|
Membre éprouvé
![]() Date d'inscription: juin 2008
Localisation: Eure et loir
Messages: 423
|
merci
le terme a comprendre est boucler j'ai donc pris ce code Code :
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 |
|
|
|
|
|
#4 |
|
Membre Expert
![]() Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 163
|
bonsoir bosk1000 l' ami Krovax le forum une approche de solution
dans ma listobox1 3 colonnes a adapter!! Code :
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
__________________
SALUTATIONS
|
|
|
|
|
|
#5 |
|
Membre régulier
![]() |
Pour une listbox multiselection
Code :
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
Dernière modification par Lynx92260 ; 29/06/2009 à 23h35. |
|
|
|
|
|
#6 |
|
Membre éprouvé
![]() Date d'inscription: juin 2008
Localisation: Eure et loir
Messages: 423
|
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 Code :
.Range("A65536").End(xlUp)(2) = ListBox1.List(i, 0) |
|
|
|
|
|
#7 |
|
Membre régulier
![]() |
voir correction dans le code de mon dernier message .
La colonne A est 1 donc Cell(iLig,1)=...... C 'est bon la ?
|
|
|
|
|
|
#8 |
|
Membre Expert
![]() Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 163
|
re essai comme cela
Code :
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
__________________
SALUTATIONS
|
|
|
|
|
|
#9 |
|
Membre éprouvé
![]() Date d'inscription: juin 2008
Localisation: Eure et loir
Messages: 423
|
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 : Code :
- ListBox1.ListCount - ListBox1.Selected(i) - ListBox1.List(i, 0) Code :
Next: Beep
Dernière modification par AlainTech ; 03/07/2009 à 07h52. Motif: Fusion de 2 messages |
|
|
|
|
|
#10 |
|
Membre Expert
![]() Date d'inscription: décembre 2002
Localisation: 38
Âge: 20
Messages: 1 163
|
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.
Code :
ListBox1.ListCount
Code :
If ListBox1.Selected(i) = True Then Code :
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 :
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
__________________
SALUTATIONS
|
|
|
|
|
|
#11 |
|
Membre éprouvé
![]() Date d'inscription: juin 2008
Localisation: Eure et loir
Messages: 423
|
c'est limpide
avec tes codes je suis toujours comme ça pour toi
|
|
|
|
|
|
![]() |
||
[XL-2003] récupérer selection listbox
|
||
| Outils de la discussion | |
|
|