Vba comparaison entre dates

Bonjour,

j'aimerai bien que ces quelques lignes de codes puissent me comparer les dates inscrites dans 2 cellules (A1 = date du jour) et me mettent la cellule dont la date est dépassée en rouge.

Merci pour votre aide

Private Sub CommandButton1_Click()
For i = 3 To 150
If Range("I" & i) < Range("A1") Then
Range("I" & i).Interior.ColorIndex = 3
End If
Next
End Sub

2 réponses

  1. le test fonctionne mal, toute la colonne sort rouge, que la date soit avant ou apres aujourdhui
    1. Contributeur
      Pourtant je viens de retester chez moi, en mettant des dates inférieure à A1, elles sont en rouge, en mettant des dates supérieures à A1 elles restent comme avant....
    2. puis-je vous envoyer mon fichier par mail?
    3. Contributeur
      Non, par souci d'équité et de partage des informations, vous ne pouvez pas me l'envoyer par mail, au cas où quelqu'un d'autre viendrait vous aider ou aurait besoin de la solution apportée.

      Vous pouvez déposer votre fichier via le site cijoint, puis coller le lien qui vous sera donné dans une réponse à cette conversation.
    4. Contributeur
      Voici une nouvelle version de votre macro :

      Private Sub CommandButton1_Click()
      Dim NbLigne As Integer
      NbLigne = Range("I65536").End(xlUp).Row
      For i = 3 To NbLigne
      If Not (IsEmpty(Range("I" & i))) And Range("I" & i) < Range("A1") Then
      Range("I" & i).Interior.ColorIndex = 3
      End If
      Next
      End Sub


      J'ai rajouter la variable NbLigne qui permet de déterminer la dernière ligne contenant des données dans la colonne I.

      J'ai également ajouté un test sur les cellules vides, ce qui fait que quand une cellule de la colonne I est vide elle ne devient pas rouge.

      Merci de me dire si cela vous convient.
  2. Contributeur
    Bonjour,

    je ne vois pas quel est ton problème, cela fonctionne.

    Cordialement.