Pbl alimentation/récupération dans Array pour autofilter
Dans un listbox multicolonnes a selections multiples (sur un userform) je selectionne des lignes (factures).
Ensuite j'ai besoin de récupérer ces lignes pour alimenter un tri sur une feuille via Autofilter (avec nf) et n'afficher ainsi que les factures selectionnées.
Mon idée était d'alimenter un Array afin de pouvoir en extraire mes données (en listant les arguments par exemple).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<div style="margin-left:40px">For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then 'je repère bien les selections
nf = Me.ListBox1.List(i, 2) 'nf pour alimenter Autofilter
MsgBox Me.ListBox1.List(i, 2) 'pour voir si je les ai bien => OK
L = Array(Me.ListBox1.List(i, 2))
If IsArray(L) = True Then 'Pour vérifier que je crée bien un tableau
MsgBox ("VARIABLE = TABLEAU") 'Il y est bien, sauf qu'il est vide (comme s'il était sans argument) ???!!!!
Else: MsgBox ("Pas de tableau")
End If
Next
End if</div> |
Je voudrais pouvoir récupérer les valeurs des arguments de L sous la forme
msgbox L(1)
msgbox L(2)
msgbox L(3)...
Mais je n'y arrive pas malgré les quelques heures passées dessus...
Je vois bien déjà que je n'ai qu'un seul argument dans array, alors que je devrais en avoir autant que de sélections, mais je n'ai pas réussi à trouver.
Ceci est mon premier message sur le forum. J'espère en avoir respecté les règles. Peut être aussi qu'Array n'est pas appropriée et qu'il y a plus simple. Merci à ceux qui pourront me dépanner ou m'éclairer.
Bien cordialement.
AD
Pbl alimentation/récupération dans Array pour autofilter (suite)
Bonsoir et merci pour votre réponse
J'ai adapté le code comme ci-après (ListBox1...).
Mais cela ne fonctionne pas: SelCount se met en inversion vidéo et le message suivant apparaît : "Erreur de compilation - Membre de méthode ou de données introuvable." => erreur 461
J'ai vérifié ma version de VBA : c'est Visual Basic 6.3
Il semble que je ne dispose pas de SelCount?! (L'aide à la frappe ne fonctionne pas... => pas dans la liste des "propriétés" proposés...)
Pas de résultat non plus pour SelCount dans l'aide intégrée de Microsoft VBA?!
Comment est-ce possible ?!
Par contre j'ai bien trouvé sur le Web
Visual Basic Reference
SelCount Property
Returns the number of selected items in a ListBox control.
Syntax
object.SelCount
Bien cordialement.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Private Sub CommandButton6_Click()
If ListBox1.SelCount = 0 Then Exit Sub
Dim montableau() As String, I As Integer
ReDim montableau(ListBox1.SelCount - 1)
n = 0
For I = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(I) Then
montableau(n) = ListBox1.List(I)
n = n + 1
End If
Next
' et maintenant, juste pour voir ce qu'on a fait
For I = 0 To UBound(montableau)
MsgBox montableau(I)
Next
End Sub |