Vérifier si une date existe dans un intervale de deux dates
Bonjour à tout le Forum
Après plusieurs recherches et adaptation (Merci d'ailleurs une fois de plus à tout ceux qui partagent ici leurs connaissance),
J'ai pu mettre en place un code pour extraire les lignes se trouvant entre deux dates. Le code est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub Filtre_Fact()
If DateValue(Range("H4")) - DateValue(Range("F4")) <= 0 Then
MsgBox "Vous devez spécifier une date de DEBUT Inférieure à la date de FIN !", _
vbOKOnly + vbCritical, "Attention"
Exit Sub
End If
Set f = Sheets("Archiv_Fact")
Tablo = f.Range("A7:J" & f.Range("A" & Rows.Count).End(xlUp).Row)
dteD = Range("F4")
dteF = Range("H4")
k = 0
For i = 1 To UBound(Tablo, 1)
If Tablo(i, 3) >= dteD And Tablo(i, 3) <= dteF Then
ReDim Preserve tabloR(UBound(Tablo, 2), k + 1)
For j = 1 To 10
If j = 3 Then
tabloR(j - 1, k) = CDate(Tablo(i, j)) * 1
Else
tabloR(j - 1, k) = Tablo(i, j)
End If
Next j
k = k + 1
End If
Next i
Range("A7:J" & Application.Max(3, Range("A" & Rows.Count).End(xlUp).Row) + 1).EntireRow.Delete
Range("A7").Resize(UBound(tabloR, 2), UBound(tabloR, 1)) = Application.Transpose(tabloR)
End Sub |
c'est peut être pas très bien élaboré, mais cela fait le boulot.
Mon problème actuel est le suivant :
Lorsque aucune valeur ne se trouve entre la date de début et la date de fin,
je souhaite pouvoir renvoyer le message suivant :
Code:
1 2
| MsgBox "Aucune facture trouvée dans la période sélectionnée !", _
vbOKOnly + vbCritical, "Désolé" |
Toutes mes tentatives jusqu'ici n'ont abouties à aucun résultat exploitable.
Merci pour vous qui prendrez la peine de lire ce message et encore plus votre aide.
Cordialement