Sub Traitement()
' myDearFriend!) - 03/03/2006
Dim TabTemp As Variant, V As Variant
Dim D1 As Date, D2 As Date
Dim L As Long, Lresult As Long
Dim C As Byte
'Charge les données dans un tableau variant temporaire
With Sheets('Feuil3')
L = .Range('C65536').End(xlUp).Row
TabTemp = .Range(.Cells(1, 3), .Cells(L, 14)).Value
End With
'Demande Date Début et Date Fin souhaitées
V = DemandeDate('Date de Début ?')
If Not IsDate(V) Then Exit Sub
D1 = CDate(V)
V = DemandeDate('Date de Fin ?')
If Not IsDate(V) Then Exit Sub
D2 = CDate(V)
If D1 > D2 Then Exit Sub
'Traitement
With Sheets('Resultats')
'RAZ résultats
.Range('A2:F65536').Delete
For L = 2 To UBound(TabTemp, 1)
Select Case TabTemp(L, 1)
Case D1 To D2
'Détermine la 1ère ligne libre dans la feuille Résultats
Lresult = .Range('A65536').End(xlUp).Row + 1
'Mettre à jour les résultats
For C = 1 To 6
.Cells(Lresult, C).Value = TabTemp(L, _
Choose(C, 1, 8, 9, 10, 11, 12))
Next C
End Select
Next L
.Activate
End With
End Sub
Function DemandeDate(Lib As String) As Variant
DemandeDate = Application.InputBox(Lib, 'Extraction', Type:=2)
End Function