Bonjour,

Me revoici encore pour l'utilisation d'une listbox.

Mon but cette fois ci est de remplir une listbox "lcont" dans le form "listcont".
La source est un tableau dans la feuille "contclient" pour laquelle je souhaite filtrer et ne garder que les lignes dont la colonne "a" corresponde à la valeur stocké dans la variable "deb".
J'utilise une variable "deb" car en indiquant la valeur du champ situé dans un autre form "dossier" cela ne fonctionne pas.
La boucle for next est mon filtre.

Le programme ci dessous ne plante pas, mais n'affiche que la premiere ligne dans la listbox!!!!!! alors qu'il devrait y en avoir plusieurs.

Je ne comprends pas pourquoi ma boucle ne génère pas les lignes ?
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
16
17
18
19
20
21
22
23
24
25
Option Explicit
 
Dim i As Integer
Dim fin As Integer
Dim deb As Integer
 
Sub listeconts()
 
fin = Sheets("contclient").Range("d3").Value + 7
deb = DOSSIER.saisiosr.Value
 
Load listcont
 
For i = 7 To fin
    If deb = Sheets("contclient").Range("a" & i).Value Then
        listcont.lcont.AddItem Sheets("contclient").Range("c" & i).Value
        listcont.lcont.List(listcont.lcont.ListCount - 1, 1) = Sheets("contclient").Range("b" & i).Value
        listcont.lcont.List(listcont.lcont.ListCount - 1, 2) = Sheets("contclient").Range("e" & i).Value
        listcont.lcont.List(listcont.lcont.ListCount - 1, 3) = Sheets("contclient").Range("f" & i).Value
        listcont.lcont.List(listcont.lcont.ListCount - 1, 4) = Sheets("contclient").Range("d" & i).Value
    End If
Next i
listcont.Show
 
End Sub
Merci pour votre aide,
christophe