Onglet couleur

Bonjour les AS d'excel,

Je reviens car j'aimerais savoir vous pouviez faire sur la date du jour, ( 11 novembre) que cette date soit en rouge et que le lendemain (12 novembre ) cela redevienne rouge mais que le 11 redevienne à la couleur d'origine de la semaine affiché.

Par avance, merci pour votre aide.

Bien cordialement.

ericp

10novembre.xlsm (180.04 Ko)

Salut Ericp, le fil

Tiens j'ai mis un petit fichier, il te faut utiliser les mises en formes conditionnelles...

Bonjour Jean-Paul,

Je te remercie de t'être arrêté sur mon post mais c"est sur les onglets que je voudrais que la couleur rouge se mette.

Bien cordialement.

ericp

Bonjour,

Une piste à mettre dans le module du classeur (ThisWorkbook) sur ouverture du classeur :

Private Sub Workbook_Open()

    Dim Fe As Worksheet
    Dim NumSem As Integer

    For Each Fe In Worksheets

        If Fe.Name <> "Date" Then

            Select Case Weekday(DateSerial(Year(Date), Month(Date), Fe.Name), vbMonday)
                Case 6, 7
                    Fe.Tab.ColorIndex = Worksheets("Date").Cells(6, 7).Interior.ColorIndex

                Case Else
                    NumSem = Format(DateSerial(Year(Date), Month(Date), Fe.Name), "WW") - Format(DateSerial(Year(Date), Month(Date), 1), "WW")
                    If NumSem = 0 Then NumSem = 1
                    Fe.Tab.ColorIndex = Worksheets("Date").Cells(NumSem, 7).Interior.ColorIndex

            End Select

            If Fe.Name = Day(Date) Then Fe.Tab.ColorIndex = 3

        End If

    Next Fe

End Sub

Bonjour Theze,

C'est tout à fait ce que je voulais.

Un grand grand merci à toi et à tout le monde qui s'est investi sur mon post.

Bien cordialement.

Oups,

Quand je veux rajouter un onglet "recap", il me beug avec ce message :

Select Case Weekday(DateSerial(Year(Date), Month(Date), Fe.Name), vbMonday), en jaune, c'est du à quoi car j'ai 1 recap par semaine, donc 4.

par avance, merci.

Bien cordialement.

ericp.

Il te faut l’éviter comme j’ai fais pour l’onglet "Date" :

If Fe.Name <> "Date" And Fe.Name <> "Recap" Then
´...

Je ne comprends pas tout, j'ai changé la ligne par celle que tu m'as gentiment donné mais ça beug en espérant que c'était qu'il fallait que je change.

If Fe.Name <> "Date" And Fe.Name <> "Recap" Then "par" If Fe.Name <> "Date" Then

J'ai fait un test pour la première recap c'est ok mais ensuite ça beug

If Fe.Name <> "Date" And Fe.Name <> "Recap du 04 au 08" Then ok

If Fe.Name <> "Date" And Fe.Name <> "Recap du 11 au 15" Then beug

Pourquoi ça beug, je ne comprends pas, je suis simpliste pour moi je rajoute une ligne avec les mêmes critères et je change l' intitulé mais ça ne fonctionne pas.

je pense avoir trouvé, cela ne beug plus, je ferais des test demain matin, voici ce que j'ai fait :

If Fe.Name <> "Date" And Fe.Name <> "Recap du 04 au 08" And Fe.Name <> "Date" And Fe.Name <> "Recap du 11 au 15" And Fe.Name <> "Date" And Fe.Name <> "Recap du 18 au 22" And Fe.Name <> "Date" And Fe.Name <> "Recap du 25 au 29" Then

Salut ecirp le fil

je pense avoir trouvé, cela ne beug plus, je ferais des test demain matin, voici ce que j'ai fait :

If Fe.Name <> "Date" And Fe.Name <> "Recap du 04 au 08" And Fe.Name <> "Date" And Fe.Name <> "Recap du 11 au 15" And Fe.Name <> "Date" And Fe.Name <> "Recap du 18 au 22" And Fe.Name <> "Date" And Fe.Name <> "Recap du 25 au 29" Then

Pour s'adapter à toutes les dates...

If Left(Fe.Name, 4) = "Date" Or Left(Fe.Name, 4) = "Reca" Then Next

Bonjour Jean-Paul,

ta ligne me beug au niveau de "next"

Bonjour,

Testes avec IsNumeric !

If IsNumeric(Fe.Name) = True Then
    ‘C’est Ok !
End If

Salut le fil,

Houlala, fatigué je suis. Ca ne marche pas en vba...

Utilises ta condition normalement

If Left(Fe.Name, 4) <> "Date" Or Left(Fe.Name, 4) <> "Reca" Then
    '....
    '....
End If

Bonsoir,

Je vous remercie tous les 2 de vous être investis sur mon post mais ce que vous m'avez proposé tous les 2 me beug mais ma solution après des heures de prise de tête fonctionne et ce GRACE à vous 2, vous m'avez proposé des choses qui sont géniales, la "BASE" et pour moi ça été génial de me creusé le cerveau et c'est ça qu"est cool, vous m'avez aidé à évoluer et comprendre ce langage que je ne comprends toujours pas mais en bidouillant ça marche même si ce n'est pas académique.

Vous êtes vraiment des maîtres et je ne suis qu' un élève qui boit votre maîtrise d'excel.

Encore mille merci pour votre patience et votre écoute.

Bien cordialement.

ericp

Salut ericp, le fil

Envoie ton dernier fichier que j'y jette un coup d'oeil

Bonjour Jean Paul,

J'étais absent, je te mets en PJ, mon dernier fichier.

Merci encore.

Bien cordialement.

ericp

Bonjour,

à tester,

nm = Fe.Name
If nm <> "Date" And nm <> "Recap du 04 au 08" And nm <> "Recap du 11 au 15" And nm <> "Recap du 18 au 22" And nm <> "Recap du 25 au 29" Then

Bonjour,

ça beug.

Merci quand même.

Bien cordialement.

ça beug.

ça beug n'est pas très explicite

quel est le message d'erreur ?

l'erreur ce produit sur quel ligne du code ?

j'ai mis le code dans une macro "Test" pour le vérifier pas à pas et j'e n'ai eu aucune erreur.

Sub test()
Dim Fe As Worksheet
Dim NumSem As Integer

For Each Fe In Worksheets

  If Fe.Name <> "Date" And Fe.Name <> "Recap du 04 au 08" And Fe.Name <> "Recap du 11 au 15" And Fe.Name <> "Recap du 18 au 22" And Fe.Name <> "Recap du 25 au 29" Then

        Select Case Weekday(DateSerial(Year(Date), Month(Date), Fe.Name), vbMonday)
            Case 6, 7
                Fe.Tab.ColorIndex = Worksheets("Date").Cells(6, 7).Interior.ColorIndex

            Case Else
                NumSem = Format(DateSerial(Year(Date), Month(Date), Fe.Name), "WW") - Format(DateSerial(Year(Date), Month(Date), 1), "WW")
                If NumSem = 0 Then NumSem = 1
                Fe.Tab.ColorIndex = Worksheets("Date").Cells(NumSem, 7).Interior.ColorIndex

        End Select

        If Fe.Name = Day(Date) Then Fe.Tab.ColorIndex = 3

  End If

Next Fe
End Sub
Rechercher des sujets similaires à "onglet couleur"