XL 2010 double clic sur la colonne A (ou se trouve des dates), colorer de vert [RESOLU]

anthoYS

XLDnaute Barbatruc
Bonjour,

Par exemple si en A2, colorer la date qu'il y a en A2 le fond en vert fluo. Etc.

Merci :)
 

Calvus

XLDnaute Barbatruc
Bonjour,

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

A+

EDIT : bonjour Sylvanu :)
 

job75

XLDnaute Barbatruc
Bonjour anthoYs, sylvanu, Calvus, JM,

Pourquoi utiliser le double-clic ?

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.

A+
 

anthoYS

XLDnaute Barbatruc
Bonjour anthoYs, sylvanu, Calvus, JM,

Pourquoi utiliser le double-clic ?

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.

A+
Bonjour.

C'est vrai c'est inutile. Merci !
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 326
Membres
102 862
dernier inscrit
Emma35400