Private Sub Recherche_Change()
Dim F As Worksheet
Dim Plage As Range, c As Range
Dim T As String, Firstaddress As String
Dim x As Integer, k As Long, m As Long, n As Long, j As Byte, q As Variant
Dim lig As Long, val
Dim Tablo, dentree As New Dictionary, dsortie As New Dictionary
If Len(Recherche.Text) = 6 Then
With Sheets("Recap")
Tablo = .UsedRange
' .Range ("a2:f65536")
' Set cel = .Find(Recherche, , xlValues)
' If Not cel Is Nothing Then
' Firstaddress = cel.Address
' Do
' Set cel = .FindNext(cel)
' tot1 = WorksheetFunction.Sum(cel.Offset(, 5))
' tot2 = WorksheetFunction.Sum(cel.Offset(, 3))
' Report = tot1 - tot2
' If tot2 > tot1 Then
' Report.ForeColor = vbRed
' Else
' Report.ForeColor = vbBlack
' End If
' Loop While Not cel Is Nothing And cel.Address <> Firstaddress
' End If
End With
For i = 2 To UBound(Tablo, 1)
If IsDate(Tablo(i, 3)) Then
If Tablo(i, 1) = CDbl(Recherche) Then dentree(Tablo(i, 1) & "-" & Tablo(i, 2) & "-" & Tablo(i, 3)) = dentree(Tablo(i, 1) & "-" & Tablo(i, 2) & "-" & Tablo(i, 3)) + Tablo(i, 4)
End If
If IsDate(Tablo(i, 5)) Then
If Tablo(i, 1) = CDbl(Recherche) Then dsortie(Tablo(i, 1) & "-" & Tablo(i, 2) & "-" & Tablo(i, 5)) = dsortie(Tablo(i, 1) & "-" & Tablo(i, 2) & "-" & Tablo(i, 5)) + Tablo(i, 6)
End If
Next i
Me.ListView1.ListItems.Clear
For Each cle In dentree.Keys
a = cle
Me.ListView1.ListItems.Add , , Mid(cle, 1, 6)
x = Me.ListView1.ListItems.Count
a = Mid(cle, 8)
Me.ListView1.ListItems(x).ListSubItems.Add , , Mid(a, 1, InStr(a, "-") - 1)
a = Mid(a, InStr(a, "-") + 1)
Me.ListView1.ListItems(x).ListSubItems.Add , , a
Me.ListView1.ListItems(x).ListSubItems.Add , , dentree.Item(cle)
Next cle
Me.ListView1.ListItems(x).ListSubItems.Add , , ""
Me.ListView1.ListItems(x).ListSubItems.Add , , ""
For Each cle In dsortie.Keys
For i = 1 To Me.ListView1.ListItems.Count
If Me.ListView1.ListItems(i).Text = Mid(cle, 1, 6) And Me.ListView1.ListItems(x).ListSubItems(2).Text = Mid(cle, InStrRev(cle, "-") + 1) Then
Me.ListView1.ListItems(x).ListSubItems(4).Text = Me.ListView1.ListItems(x).ListSubItems(2).Text
Me.ListView1.ListItems(x).ListSubItems(5).Text = dsortie.Item(cle)
End If
Next i
Next cle
End If
End Sub