Colorer des cellules en fonction des dates

Résolu
randall Messages postés 531 Date d'inscription   Statut Membre Dernière intervention   -  
randall Messages postés 531 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Dans un fichier Excel il faudrait que je mettre en couleur des cellules contenant des dates dont le jour est inférieur de 1 jour à l'année d'avant.

J'ai essayé le code suivant mais j'ai une erreur à l'instruction cell.Interior.ColorIndex = 4 (propriété

 no géré par cet objet

Sub avertir()   

                                                                             
Dim cell As Variant
For Each cell In Range("C6:C10")
If cell.Offset(0, -1).jour > 1 Then
cell.Interior.ColorIndex = 4
End If

next

end sub

exemple

14/02/2023      date  10/02/2024 il faut que la cellule se mette en rouge par exemple dès que la date est inférieur de 1 jour au 14/02/2023 l'année d'après en prenant comme référence la date du jour actuel pour comparer dès qu'on ouvre le classeur

Merci pour la réponse

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    Ce qui coince, c'est ceci:

    cell.Offset(0, -1).jour

    Je n'ai pas compris ce que tu voulais réaliser.

    0
  2. randall Messages postés 531 Date d'inscription   Statut Membre Dernière intervention   9
     

    Merci pour la réponse en fait ce que je voudrais faire c'est pour un ami, éleveur de bétail qui met les dates de vaccinations de son bétail sur un carnet. Je lui ai proposé de faire une procédure sur Excel qui comporte les dates suivantes

    Dans une colonne identification de l'animal sur la colonne à côté la date de vaccination et sur la colonne à côté la date du jour qui changera à chaque ouverture d'Excel.

    Le but est de colorer en rouge la date de vaccination lorsque arrivera la date de rappel qui se situe 10 jours avant l'échéance. Pour faire court quand la date du jour arrivera dans un an moins 10 jours la cellule se colorera en rouge.

    C'est plus explicite comme ça je pense

    Merci si tu peux me répondre

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      Peut-être ainsi, alors:

      Sub avertir()
      Dim cell As Range
      For Each cell In Range("C6:C10")
          If cell <> 0 And cell < Now() - 355 Then
              cell.Interior.ColorIndex = 4
          End If
      Next
      End Sub
      1
  3. randall Messages postés 531 Date d'inscription   Statut Membre Dernière intervention   9
     

    Bonjour,

    Merci pour la réponse c'est bon j'ai juste modifier les cellules à colorier c'est à dire pas la colonne date du jour mais celle de la vaccination soit 

    cell.Offset(0, -1).Interior.ColorIndex = 4 

    0