colorier des cellules si la date qu'elles contiennent est inférieure à une autre

eastwick

XLDnaute Impliqué
Bonjour à toutes et tous, le forum, membres éminents et novices,

Voici mon souci, colorer des cellules qui contiennent ou sont relatives à une date en fonction du contenu de la cellule B3 (autre date). Un fichier pour illustrer mon propos et le rendre ainsi limpide.
Une solution VBA est privilégiée car le format conditionnel est réalisable mais lourd.

MERCI !!!
 

Pièces jointes

  • Dépenses hebdomadaires 2017.xlsx
    17.3 KB · Affichages: 31

vgendron

XLDnaute Barbatruc
Re : colorier des cellules si la date qu'elles contiennent est inférieure à une autre

Hello
avec ce code dans un module standard

Code:
Sub color()
DateChoisie = Range("B3")
For Each ele In Range("Calend")
    If (ele <= DateChoisie) And (ele <> "") Then
        ele.Interior.color = RGB(0, 125, 125)
    End If
    If ele = "" Then
        ele.Interior.color = ele.Offset(-1, 0).Interior.color
    End If
Next ele

End Sub

nommer la zone C4:G107 "Calend"
 

Chris401

XLDnaute Accro
Re : colorier des cellules si la date qu'elles contiennent est inférieure à une autre

Bonjour

Autre code (à placer dans la feuille)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$B$3" Then
Range("B:G").Interior.ColorIndex = xlNone
    For i = 4 To 106 Step 2
        For j = 3 To 7
            If Cells(i, j) <= Target Then Cells(i, 2).Resize(2, j-1).Interior.ColorIndex = 20
        Next j
    Next i
End If
End Sub
Cordialement
Chris
 
Dernière édition:

eastwick

XLDnaute Impliqué
Re : colorier des cellules si la date qu'elles contiennent est inférieure à une autre

Bonjour et merci !
Mais aucun des 2 ne fonctionne, je vous remets le fichier avec vos codes respectifs.
 

Pièces jointes

  • Dépenses hebdomadaires 2017.xlsm
    275.3 KB · Affichages: 39

Chris401

XLDnaute Accro
Re : colorier des cellules si la date qu'elles contiennent est inférieure à une autre

Bonjour

Tu as changé l'adresse de la cellule (C3 au lieu de B3). Remplace

If Target.Address = "$B$3" Then
par
If Target.Address = "$C$3" Then

Ensuite, entre une date avec la bonne année ... 09/03/2016 n'est pas dans la feuille

Chris
 

Discussions similaires

Statistiques des forums

Discussions
311 712
Messages
2 081 802
Membres
101 819
dernier inscrit
lukumubarth