LUSTRUCRU
Messages postés91Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention15 mars 2013
-
28 oct. 2008 à 20:48
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 2008
-
29 oct. 2008 à 12:21
Bonjour à toutes et tous,
Je souhaite récuperer dans une listbox le résultat d'un tri fait sur excel
Voici ce que j'ai imaginé :
Dim MaPlage As Range
Columns("AV:AV").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="1"
Set MaPlage = Worksheets("Atlantique").AutoFilter.Range
ListBox1.List = MaPlage
cela me renvoi l'erreur suivante à la ligne 5 :
Impossible de définir la propriété liste, index de table de propriété non valide
Si c'est Tout Pas Bon je suis preneur de solutions. Pouvez vous m'aider, cela serait très très sympa
Merci d'avance
DidierLoche
Messages postés33Date d'inscriptiondimanche 26 octobre 2008StatutMembreDernière intervention25 novembre 20081 29 oct. 2008 à 12:21
Bonjour,
Tout d'abord, où est placé ta listbox ? dans un userform ou dans une feuille Excel ?
Si elle est dans une feuille Excel, tu dois utiliser
Worksheets("toto").ListBox1.ListFillRange = plage où plage est un string de type "A1:A10"
Pour que ton filtre marche, le mieux de créer une zone dans ta feuille Excel qui est le résultat de ton filtre. Tu remplis cette zone comme ceci :
Sub maj_listbox()
Dim li As Integer, li_out As Integer
' les données sources sont dans la colonne A
li = 2
li_out = 1
Do While Cells(li, 1) <> ""
If Cells(li, 1) = 1 Then ' filtre à customiser
Cells(li_out, 2) = Cells(li, 1)
li_out = li_out + 1
End If
li = li + 1
Loop
Si ta listbox est dans un userform, pas besoin de créer une plage dans la feuille Excel. Ceci devrait suffire :
Sub maj_listbox()
Dim li As Integer
' les données sources sont dans la colonne A
UserForm1.ListBox1.Clear
li = 2
Do While Cells(li, 1) <> ""
If Cells(li, 1) = 1 Then ' filtre à customiser
UserForm1.ListBox1.AddItem Cells(li, 1)
End If
li = li + 1
Loop
UserForm1.Show