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. Contributeur
    Bonjour,

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

    Cordialement.
    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.