Option Explicit
Private Sub CommandButton1_Click()
'T est le tableau des données
'TReport est le tableau de l'extraction
'32 lignes sur 3 colonnes (si il y a des dates en doubles dans la liste
'il faudra augmenter cette valeur
Dim i&, j&, k&, T As Variant, TReport(1 To 32, 1 To 3) As Variant
k = 1
'On monte toutes les valeurs de la feuille
'dans un tableau (T)
T = Range(Cells(1, 1), Cells(Rows.Count, 3).End(3))
'On met les valeurs d'en tete sur la ligne 1 du tableau de données
'sur la ligne 1 du tableau d'extraction (k = ligne, j = colonne)
For j = 1 To 3
TReport(k, j) = T(k, j)
Next j
'Pour chaque ligne du tableau de données
For i = LBound(T, 1) To UBound(T, 1)
'Si la valeur en colonne 3 de la ligne i
'est égale ou sépérieure à la date d'aujourdhui - 15 ET
'est égale ou inférieure )à la date du jour + 15
If T(i, 3) > = Date - 15 And T(i, 3) < = Date + 15 Then
'on augmente la variable k (k = ligne)
k = k + 1
'On rempli la ligne k du tableau d'extraction
'avec les valeurs de la ligne i du tableau de données
' ( j = colonnes)
For j = 1 To 3
TReport(k, j) = T(i, j)
Next j
End If
Next i
'Avec la feuille2
With Sheets("Feuil2")
'on supprime les valeurs qui sont présentent sur la feuille
.UsedRange.ClearContents
'on colle le tableau d'extraction sur la cellule A1 re-dimentionnée
'de k lignes sur 3 colonnes
'UBound(TReport, 2) = le nombre de colonnes du tableau TReport
'Voir Resize dans l'aide
.Cells(1, 1).Resize(k, UBound(TReport, 2)) = TReport
'on affiche la feuille (pour marquer que le traitement est fini ;)
.Activate
End With
End Sub