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
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
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
Of course ! mais dans le cas présent, la macro est probablement toutafé superfetatoire ! parole de macrotteur médiocre et de formuliste encore plus médiocre