Vba comparaison entre dates

mart -  
tinmar43 Messages postés 11 Statut Membre -
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. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

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

    Cordialement.
    0
  2. mart
     
    le test fonctionne mal, toute la colonne sort rouge, que la date soit avant ou apres aujourdhui
    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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....
      0
    2. mart
       
      puis-je vous envoyer mon fichier par mail?
      0
    3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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.
      0
    4. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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.
      0