[COLOR=NAVY]Private Sub[/COLOR] CommandButton1_Click()
[COLOR=NAVY]Dim[/COLOR] wsBD [COLOR=NAVY]As[/COLOR] Worksheet
[COLOR=NAVY]Dim[/COLOR] derLig [COLOR=NAVY]As Long
Dim[/COLOR] Lig [COLOR=NAVY]As Long
Dim[/COLOR] Plage [COLOR=NAVY]As[/COLOR] Range
[COLOR=NAVY]Dim[/COLOR] CritRente [COLOR=NAVY]As String
Dim[/COLOR] CritDateDeb [COLOR=NAVY]As String
Dim[/COLOR] CritDateFin [COLOR=NAVY]As String
Dim[/COLOR] LigList [COLOR=NAVY]As Long
[B]Dim[/B][/COLOR][B] Cumul [COLOR=NAVY]As Currency[/COLOR][/B]
[COLOR=NAVY]Set[/COLOR] wsBD = Worksheets("BD")
[COLOR=GREEN]' Dernière ligne dans la feuille BD[/COLOR]
derLig = wsBD.Range("A" & Cells.Rows.Count).[COLOR=NAVY]End[/COLOR](xlUp).Row
[COLOR=NAVY]If[/COLOR] derLig < 2 [COLOR=NAVY]Then Exit Sub[/COLOR]
[COLOR=GREEN]' Définition de la plage en colonne A[/COLOR]
[COLOR=NAVY]Set[/COLOR] Plage = wsBD.Range("A2:A" & derLig)
[COLOR=GREEN]' Définition des critères[/COLOR]
[COLOR=GREEN]' N° Rente[/COLOR]
CritRente = IIf(TextBox1.Value = "", "*", TextBox1.Value)
[COLOR=GREEN]' Date Début[/COLOR]
CritDateDeb = TextBox2.Value
[COLOR=NAVY]If[/COLOR] TextBox2.Value = "" [COLOR=NAVY]Or Not[/COLOR] IsDate(TextBox2.Value) [COLOR=NAVY]Then[/COLOR]
CritDateDeb = Format(Application.WorksheetFunction.Min(Plage), "dd/mm/yyyy")
[COLOR=NAVY]End If[/COLOR]
[COLOR=GREEN]' Date Fin[/COLOR]
CritDateFin = TextBox3.Value
[COLOR=NAVY]If[/COLOR] TextBox3.Value = "" [COLOR=NAVY]Or Not[/COLOR] IsDate(TextBox3.Value) [COLOR=NAVY]Then[/COLOR]
CritDateFin = Format(Application.WorksheetFunction.Max(Plage), "dd/mm/yyyy")
[COLOR=NAVY]End If[/COLOR]
CritDateFin = DateAdd("d", 1, CritDateFin)
LigList = 1
[COLOR=GREEN]' Vider la listview[/COLOR]
ListView1.ListItems.Clear
[COLOR=GREEN]' Boucle sur toutes les lignes[/COLOR]
[COLOR=NAVY]For[/COLOR] Lig = 2 [COLOR=NAVY]To[/COLOR] derLig
[COLOR=GREEN]' Rechercher par rapport aux critères[/COLOR]
[COLOR=NAVY]If CDate[/COLOR](wsBD.Range("A" & Lig).Value) >= [COLOR=NAVY]CDate[/COLOR](CritDateDeb) And _
[COLOR=NAVY]CDate[/COLOR](wsBD.Range("A" & Lig).Value) < [COLOR=NAVY]CDate[/COLOR](CritDateFin) And _
[COLOR=NAVY]CStr[/COLOR](wsBD.Range("B" & Lig).Value) [COLOR=NAVY]Like[/COLOR] CritRente [COLOR=NAVY]Then[/COLOR]
[COLOR=GREEN]' Remplir la première colonne[/COLOR]
ListView1.ListItems.Add , , wsBD.Range("A" & Lig).Value
[COLOR=GREEN]'Remplissage colonnes 2 à 5[/COLOR]
ListView1.ListItems(LigList).ListSubItems.Add , , wsBD.Range("C" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , wsBD.Range("D" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , wsBD.Range("E" & Lig).Value
ListView1.ListItems(LigList).ListSubItems.Add , , wsBD.Range("F" & Lig).Value
[B]Cumul = Cumul + wsBD.Range("F" & Lig).Value[/B]
LigList = LigList + 1
[COLOR=NAVY]End If
Next[/COLOR] Lig
[B]Label2.Caption = Cumul[/B]
[COLOR=NAVY]End Sub[/COLOR]