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 31 32 33
| Sub Compare_Date()
Dim Ws As Worksheet
Dim DateComp As Range
Set Ws = ThisWorkbook.Sheets("Sheet1")
Set DateComp = Ws.Range("F2") ' date de fin est en colonne F ligne 2 car tu as peut-etre un intitulé en ligne 1 (si tu n'as pas de ligne intitulé tu mets Range("F1")
Dim i As Integer
Dim NbLigne As Integer
Dim sysdate As Date
Dim Date_Debut As Date
Dim Date_fin As Date
sysdate = Format(DateSerial(Year(Date), Month(Date), Day(Date)), "dd/mm/yyyy")
With Ws
NbLigne = .Cells(.Rows.Count, 1).End(xlUp).Row 'Ici on compte le nbre de ligne en colonne 1 (Je n'ai pas mis en colonne F car tu pourrais avoir des Jalons de début)
End With
For i = 0 To Nbline
Date_Debut = Format(Year(DateComp.Offset(i, -1)), Month(DateComp.Offset(i, -1)), Day(DateComp.Offset(i, -1)), "dd/mm/yy")
Date_fin = Format(Year(DateComp.Offset(i, 0)), Month(DateComp.Offset(i, 0)), Day(DateComp.Offset(i, 0)), "dd/mm/yy")
If sysdate > Date_fin Then
Columns(7) = "Fait" 'Colonne(7) est ta colonne G j'ai donc mis la date de fin en colonne F (DateComp = Ws.Range("F2")) et la date de début en E (DateComp.Offset(i,-1))
ElseIf sysdate < Date_Debut Then
Columns(7) = "A Faire"
ElseIf sysdate < Date_fin And sysdate > Date_Debut Then
Columns(7) = "En cours"
End If
'Ton traitement
Next i
End Sub |
Partager