Sub Extraction()
Dim DerLig As Long, DateDebut As Date, DateFin As Date, PremLig As Byte
Application.ScreenUpdating = False 'désactive l'actualisation de l'écran
Application.EnableEvents = False 'désactive les événements
With Worksheets("Bilan") 'on travaille dans la feuille Bilan
.Range("A10:M16").ClearContents 'on efface les valeur du tableau
PremLig = .Range("A1").End(xlDown).Row + 1 'on définit la permière ligne
DateDebut = .Range("E7").Value 'on définit la date de début
DateFin = .Range("H7").Value 'on définit la date de fin
End With
With Worksheets("BD1") 'on travaille dans la feuille BD1
DerLig = .Range("A" & Rows.Count).End(xlUp).Row 'on définit la dernière ligne non vide de la colonne A
For i = 2 To DerLig 'on boucle sur toutes les lignes non vides
If .Cells(i, 1).Value >= DateDebut And .Cells(i, 1).Value <= DateFin Then 'on compare la valeur en colA aux dates de début et de fin
.Range(.Cells(i, 1), .Cells(i, 11)).Copy Destination:=Worksheets("Bilan").Cells(PremLig, 1) 'on copie les lignes répondant aux ccritères dans la feuille Bilan
PremLig = PremLig + 1 'on réactualise la 1ère ligne vide de la plage A10:M16
End If
Next i
Application.ScreenUpdating = True 'réactive l'actualisation de l'écran
Application.EnableEvents = True 'réactive les événements
End With
End Sub