Colorer plusieurs onglet à ouverture de fichier Excel VBA

Bonjour à tous.

J'ai un fichier planning et je souhaiterai qu'a ouverture du fichier excel scan les différents onglets et si la date du vendredi est plus ancienne que la date d'aujourd'hui, il colore l'onglet d'une couleur pour signifier la fin de semaine.

J'ai déjà utilisé ce code pour définir la date à comparer :

Dim jour, mois, année
jour = Day(Now)
mois = Month(Now)
année = Year(Now)
Dim today As Date
today = jour & "/" & mois & "/" & année

Cependant j'arrive à effectuer cette démarche sur la feuille active et toutes les feuilles crées en utilisant

Sheets ("Sx").select

If range("vend") < today then

Sheets("Sx").tab.color = vbRed

end if

Par exemple, mais c'est fastidieux et je dois faire ca pour chaque feuille donc c'est lourd. Sachant que mon fichier dispose d'un bouton pour rajouter les semaines petit à petit donc il faudrait remodifier le code.

Avez vous une solution miracle?

Merci par avance

Bonjour Fekapic, le forum,

Un essai.....(pas testé)...

Private Sub Workbook_Open()
 Dim sh As Worksheet

Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        sh.Tab.Color = IIf(CDate(sh.[vend]) < Date, vbRed, vbWhite)
    Next sh
Application.ScreenUpdating = True
End Sub

Cordialement,

Bonsoir Fekapic, Xorsankukai,

En retour le fichier modifié pour une actualisation minimale.

Voir notes en police rouge sur la 1ière feuille.

Rechercher des sujets similaires à "colorer onglet ouverture fichier vba"