Bonsoir Richi, bonsoir le forum,
Une remarque concernant l'emplacement de ta macro : ThisWorkook. Je pense qu'elle n'est pas à sa place là. Elle devrait plutôt figurer dans un module standard. Dans l'éditeur Visual Basic (VBE, [Alt]+[F11]), menu Insertion / Module, puis tu déplaces la macro de Thisworkbook à Module1...
Le code allégé :
Sub dateGRAISSAGE()
Dim I As Byte
Dim J As Byte
Dim K As Byte
For I = 6 To 30
For J = 6 To 16
If K = 1 Then K = 0: J = J + 1: GoTo SUITE
DG = Cells(I, J).Value
If DG >= Now() + 12 Then
Cells(I, J).Interior.Color = RGB(175, 250, 100) 'result = "Vp_OK"
ElseIf DG > Now() And DG < Now() + 12 Then
Cells(I, J).Interior.Color = RGB(250, 250, 175)
Else: Cells(I, J).Interior.Color = RGB(250, 100, 100)
End If
K = K + 1
SUITE:
Next J
Next I
End Sub