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
| Sub Test()
Dim DerLigneJ As Long
Dim MaPlage As Range, Cel As Range
With ThisWorkbook.Worksheets("Feuil1") 'Nom de la feuille, à adapter éventuellement.
'Recherche du numéro de la dernière ligne renseignée dans la colonne J
DerLigneJ = .Range("J" & Rows.Count).End(xlUp).Row
'Définition de la plage de traitement (cellules renseignées de la colonne J)
Set MaPlage = .Range("J2:J" & DerLigneJ)
'Le traitement doit être effectué sur toutes les cellules de MaPlage
For Each Cel In MaPlage
'Si la cellule en colonne J et la cellule en colonne K sont des dates _
(la cellule en colonne K étant celle décalée d'une colonne par rapport à J)
If IsDate(Cel) And IsDate(Cel.Offset(0, 1)) Then
'On compare les 2 dates
'Si la date en J est supérieure à la date en K, on inscrit "Oui" en L
If DateDiff("d", Cel.Offset(0, 1), Cel) > 0 Then
Cel.Offset(0, 2) = "Oui"
Else
'Sinon, on vide la cellule
Cel.Offset(0, 2) = ""
End If
Else
Cel.Offset(0, 2) = "SO"
End If
Next Cel
'On libère la mémoire
Set MaPlage = Nothing
End With
End Sub |