Bonjour Amo, bonjour le forum,
Peut-être comme ça :
Sub Macro1()
Dim DD As Date 'déclare la variable DD (Date de Début)
Dim DF As Date 'déclare la variable DF (Date de Fin)
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim K As Integer 'déclare la variable K (incrément)
Dim D As Date 'déclare la variable D (Date)
Dim TDI() As Variant 'déclare la variable TDI (Tableau des Dossiers Incomplets)
DD = "1/1/2019" 'définit la date de début DD
DF = "31/12/2019" 'définit la date de fin DF
Set O = Worksheets("Feuil1") 'définit l'onglet O
TV = O.Range("A3").CurrentRegion 'définit le tableau des valeurs TV
O.Range("F2").CurrentRegion.Offset(1, 0).ClearContents 'supprime d'éventuelles anciennes données
K = 1 'initialise la variable K
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
D = DateSerial(Year(TV(I, 2)), Month(TV(I, 2)), Day(TV(I, 2))) 'définit la date D de la donnée en colonne 2 de la boucle
If D >= DD And D <= DF And TV(I, 3) = "Incomplet" Then 'condition si D est comprise entre DD et DF et que la donnée en colonne 3 est égale à "Incomplet"
ReDim Preserve TDI(1 To K) 'redimensionne le tableau TDI (K colonnes)
TDI(K) = TV(I, 1) 'récupère le numéro du dossier dans la colonne K
K = K + 1 'incrémente K (ajoute une colonne au tableau TDI)
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
If K > 1 Then 'si K est supérieure à 1
O.Cells(3, "F").Value = K - 1 'renvoie le nombre de dossier en F3
O.Cells(3, "G").Resize(K - 1, 1) = Application.Transpose(TDI) 'renvoie en G3 redimensionnée le tableau TDI transposé
Else 'sinon
MsgBox "Aucun dossier incomplet !" 'message
End If 'fin de la condition
End Sub