Je ferais comme ça, mais tu ne précises pas s'il n'y a que des dates, ou si on ne doit colorer que des dates parmi d'autres valeurs.
Code dans le code de la feuille, double cliquer sur une cellule de la colonne A.
VB:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(i, 1) <> "" Then
Cells(i, 1).Interior.Color = 5296274
End If
Next i
Cancel = True
End Sub
Cette macro dans le code de la feuille colore automatiquement les dates en colonne A :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo(), i&
Set Target = Intersect(Target, Columns(1), UsedRange)
If Target Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each Target In Target.Areas
Target.Interior.ColorIndex = xlNone 'RAZ
tablo = Target.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
If IsDate(tablo(i, 1)) Then Target(i).Interior.ColorIndex = 4 'vert
Next i, Target
End Sub
Testé sur 100 000 lignes avec des dates 1 ligne sur 2 => 1,1 seconde chez moi pour tout colorer.
Cette macro dans le code de la feuille colore automatiquement les dates en colonne A :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo(), i&
Set Target = Intersect(Target, Columns(1), UsedRange)
If Target Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each Target In Target.Areas
Target.Interior.ColorIndex = xlNone 'RAZ
tablo = Target.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
If IsDate(tablo(i, 1)) Then Target(i).Interior.ColorIndex = 4 'vert
Next i, Target
End Sub
Testé sur 100 000 lignes avec des dates 1 ligne sur 2 => 1,1 seconde chez moi pour tout colorer.