Affecter une couleur si week-end

Patchi06

XLDnaute Nouveau
Bonjour

J'essaie de créer une macro qui me changerai automatiquement la couleur des lignes du WE pour les mettre en évidence (le calendrier allant du 1er janvier au 31 mars de n+1)

J'ai écris plusieurs macros mais je galère depuis 3 heures pour comprendre comment la faire fonctionner
(ci-dessous ma dernière version)
Ma feuille de base n'est constituée que d'une liste de dates (a/c de A1) du 1er janvier au 31 mars.

Sub Coul18()
Dim LValue As String
LValue = WeekdayName(Weekday(D), , vbSunday)
Range("A1").Select
For Each cell In Range("A1:A400")
MsgBox LValue
If LValue = "Samedi" or Lvalue = "Dimanche" Then
Range(ActiveCell, ActiveCell.Offset(0, 11)).Interior.ColorIndex = 33
End If
ActiveCell.Offset(1, 0).Select
Next
End Sub

Si vous avez une idée... Merci
 

Staple1600

XLDnaute Barbatruc
Re : Affecter une couleur si week-end

Bonsoir à tous

Une idée...? Oui, une MFC ;)
VB:
Sub Macro1()
' Macro enregistrée le 13/11/2012 par Staple1600
With Range("A1:K456") '-> 456 pour aller jusqu'au 31/03/N+1
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=JOURSEM($A1;2)>5"
    .FormatConditions(1).Interior.ColorIndex = 33
End With
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Affecter une couleur si week-end

Re

Et si on reprends ta boucle (qui a le désavantage de figer les choses par rapport à une MFC)
Code:
Sub Couleur18BIS()
Dim p As Range, c As Range
Set p = [A1:A456]
For Each c In p
c.Resize(, 11).Interior.ColorIndex = 33 * -(Weekday(c, vbMonday) > 5)
Next c
End Sub
 

Discussions similaires

Réponses
25
Affichages
917
Réponses
4
Affichages
483

Statistiques des forums

Discussions
312 558
Messages
2 089 597
Membres
104 221
dernier inscrit
legendking85