XL 2013 Colorer des lignes en fonction de la date et d'autres couleurs

apfwl.87

XLDnaute Occasionnel
Bonsoir le forum

J'ai un fichier dans lequel j'ai des réservations. Je désirerais faire la chose suivante:
- lorsqu'une réservation est saisie avec la date du jour (colonne B), la ligne entière devrait être vert-fluo
- les lignes qui sont vert-fluo devraient être modifiées en vert clair
- les lignes en vert clair ne devraient plus avoir de remplissage.

J'ai essayé avec la mise en forme conditionnelle mais je n'arrive déjà pas à faire que la première condition soit exécutée. Au-lieu de me remplir la ligne en vert fluo, ça ne rempli que la cellule qui a la date du jour.

Est-ce que quequ'un peut m'aider?

Merci d'avance.
 

Pièces jointes

  • colorer.xlsx
    11.9 KB · Affichages: 45

Chris401

XLDnaute Accro
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Bonsoir

Ce que j'ai compris :
Si B = date du jour (inscrite en C1) ==> Vert fluo
Si B = date du jour - 1 (soit la veille) ==> Vert
Si B < date du jour - 1 ==> Rose

Cordialement
Chris
 

Pièces jointes

  • Copie de colorer.xlsx
    17.1 KB · Affichages: 63

apfwl.87

XLDnaute Occasionnel
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Bonsoir Chris401

Merci pour ta réponse. Je pense que j'ai mal expliqué mon problème car ce n'est pas tout à fait ça.

Chaque deux jours je reçois de nouvelles réservations. J'ai donc chaque fois dans mon fichier des lignes qui sont vert-fluo, vert clair et roses.

Lorsque je saisis mes nouvelles réservations avec la date du jour, les lignes doivent être vert fluo.

Les lignes qui étaient déjà vert fluo doivent devenir vert clair (indépendamment de la date) car ce ne sont plus de nouvelles réservations.

Les lignes qui étaient vert clair ne doivent plus avoir de couleur de fond.

Les lignes qui sont roses restent roses car ce sont des réservations spéciales.

J'espère que je suis un peu plus claire dans mes explications :)

Merci d'avance
 

apfwl.87

XLDnaute Occasionnel
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Bonjour Chris

J'ai une question. La macro fonctionne mais le seul souci c'est que pour que la ligne devienne vert fluo (en fonction de la date) je dois chaque fois me positionner dans la cellule et taper "enter" pour valider. Seulement après cette manipulations la ligne devient vert fluo. J'ai essayé aussi avec la touche F9 pour actualiser mais ça ne fonctionne pas.

Quand j'ouvre mon fichier, les données sont actualisées d'après une autre fichier et la date se met donc automatiquement dans la cellule mais la ligne ne devient pas vert fluo.

Aurais-tu une idée pour qu'au moment de l'ouverture du fichier la ligne devient verte en même temps que l'actualisation automatique de la date?

Merci d'avance pour ta réponse.
 

Chris401

XLDnaute Accro
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Bonsoir

1 - Est-ce que la cellule C1 se met à jour à l'ouverture également ?
2 - Peut-il arriver que tu écrives manuellement des dates en colonne B ou non ?

Cordialement
Chris
 

apfwl.87

XLDnaute Occasionnel
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Bonsoir Chris,
oui la cellule en C1 se met à jour automatiquement avec la formule aujourdhui (). Mais si c'est nécessaire je pourrais l'entrer manuellemen.
En revanche dans la colonne B les dates sont toujours actualisées automatiquement.
Cordialement
Apfwl.87
 

Chris401

XLDnaute Accro
Re : Colorer des lignes en fonction de la date et d'autres couleurs

Re

Tu supprimes la macro de la feuille ainsi que le Module1

Tu mets ce code dans ThisWorkbook - Il se lancera à l'ouverture du fichier
Code:
Private Sub Workbook_Open()

Derlg = Range("A" & Rows.Count).End(xlUp).Row

For i = 3 To Derlg
        If Range("B" & i).Interior.Color = RGB(204, 255, 204) Then Range("A" & i & ":H" & i).Interior.ColorIndex = xlNone
        If Range("B" & i).Interior.Color = RGB(0, 255, 0) Then Range("A" & i & ":H" & i).Interior.Color = RGB(204, 255, 204)
        If Range("B" & i) = Range("C1") Then
        Range("A" & i & ":H" & i).Interior.Color = RGB(0, 255, 0)
        End If
Next i
End Sub
Chris
 

Discussions similaires