Écart date code couleur vba

Guillaume -  
 Guillaume -
HELP !!!

Je suis débutant en vba, je cherche à mettre en couleur une cellule en fonction d'une différence entre 2 dates.

Soit la couleur orange SI Différence entre DATE échéance et DATE aujourd'hui < 1 an

J'ai commencé le code suivant, il fonctionne.

Quelqu'un pourrait il m'aider à le compléter ???
Merci d'avance.

Private Sub Worksheet_Change(ByVal Target As Range)
'plage de données ("A1:A24")
For Each c In Range("A1:A24")
'Données supérieur à la date du jour
If c > Date Then c.Interior.ColorIndex = 50
'Données inférieur à la date du jour
If c < Date Then c.Interior.ColorIndex = 3
Next c
End Sub

1 réponse

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    quelque chose de ce genre

    Option Explicit 
    
    Const plage = "A1:A24" 
    
    Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim d As Double 
    If Not Intersect(Target, Range(plage)) Is Nothing Then 
      d = Target.Value - Date 
      If d > 365 Then Target.Interior.ColorIndex = 50 
      If d < 365 Then Target.Interior.ColorIndex = 3 
    End If 
    End Sub 

    RQ. on devrait pourvoir faire sans macro

    bonne suite
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      attention le code a été modifié
      0
    2. Guillaume
       
      Merci bcp, c'est bien mieux comme ça.
      0