Je tente de modifier le code que je dois limiter les résultats copiés à une autre feuille de calcul. En ce moment tout est copié c'est> aujourd'hui. Il compare une date d'expiration dans la colonne H avec la date du jour. Je veux limiter les résultats pour inclure toutes les lignes qui incluent une date d'expiration de> aujourd'hui ET < aujourd'hui + 60 jours. J'ai essayé différentes manières et fonctions comme définir une date de fin et utilisé la fonction DateAdd. Rien ne fonctionne, aidez s'il vous plaît! Je vous remercie!Copie de lignes de critères de plage de dates de réunion de données à l'aide de VBA Excel
Sub SearchForExpiryDate()
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
On Error GoTo Err_Execute
'Start search in row 8
LSearchRow = 8
'Start copying data to row 2 in Expiring MOCs (row counter variable)
LCopyToRow = 2
While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column H > Today, copy entire row to "Expiring_MOC"
If Range("H" & CStr(LSearchRow)).Value > Now() Then
'Select row in MOC_MASTER to copy
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
'Paste row into "Expiring_MOCs" in next row
Sheets("Expiring_MOCs").Select
Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
ActiveSheet.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to 'MOC MASTER' to continue searching
Sheets("MOC_MASTER").Select
End If
LSearchRow = LSearchRow + 1
Wend
'Position on cell A3
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Exit Sub
Err_Execute:
MsgBox "An error occurred."
End Sub
Salut Jeeped, merci. J'ai essayé ceci, mais il retourne des rangées contenant des dates d'expiration 1 an à partir de maintenant et pas la gamme désirée de 2 mois. Merci quand même! – kiki
Si tel est le cas, vous pouvez avoir des dates avec échange MDY vs DMY. – Jeeped
'dateadd (" d ", 60, now())' fonctionnerait indépendamment du style de date à la place du 'now() + 60'? –