Formatage VBA Excel Cell sur des jours spécifiques ouverts

Je voudrais avoir une plage de cellules (a9: e13) la couleur de la police a changé en noir si le jour est un lundi et a changé en blanc s'il est n'importe quel autre jour. J'aimerais que cela s'exécute au fur et à mesure que le file est ouvert.

Jusqu'à présent, j'ai

Private Sub Workbook_open() If Cell(S2).Value = True Then Range("a9:e13").Font.Color = vbWhite Else Range("a9:e13").Font.Color = vbBlack End If End Sub 

Dans la cellule S1, j'ai = = Aujourd'hui ()

Dans la cellule S2, j'ai = = Jour de semaine (S1) = 2

Cela ne fonctionne pas du tout, quelqu'un peut-il m'aider à comprendre mon erreur?

Le code de travail

 Private Sub Workbook_open() If Sheet1.Cells(2, "S") = True Then Sheet1.Range("a9:e13").Font.Color = vbBlack Else Sheet1.Range("a9:e13").Font.Color = vbWhite End If End Sub 

Je pense que la solution la plus simple n'est pas l'utilisation de VBA, mais en utilisant un formatting conditionnel. Par exemple, voir http://office.microsoft.com/en-us/excel-help/use-a-formula-to-apply-conditional-formatting-HA102809768.aspx

En outre, il semble que votre exemple de code comporte des erreurs, il devrait ressembler à cela? Lorsque Sheet1 doit être remplacé par le nom de votre feuille.

 If Sheet1.Cells(2, "S") = True Then Sheet1.Range("a9:e13").Font.Color = vbWhite Else Sheet1.Range("a9:e13").Font.Color = vbBlack End If 

Je ferais un formatting conditionnel avec cette formule:

 =WEEKDAY(TODAY())=2 

Une autre alternative est

 Private Sub Workbook_open() With Worksheets("Your_sheet_name") If Weekday(Now) = vbMonday Then .Range("a9:e13").Font.Color = vbWhite Else .Range("a9:e13").Font.Color = vbBlack End If End with End Sub 

Edit: @ hnk – true, merci d'avoir appris cela. Je pensais que, étant donné que cela faisait partie des exigences initiales selon lesquelles des changements se produisaient lors de l'ouverture du cahier de travail, et en supposant une compréhension des implications impliquées, je pensais juste qu'il serait juste d'assumer le scénario que vous soulignez qu'il est peu probable qu'il se produise. Mais j'ai peut-être bien insisté sur le fait que