Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Coloration d'un onglet selon valeur.

  • Initiateur de la discussion Initiateur de la discussion Igl0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

Igl0

Guest
Bonjour à tous,
J'ai un classeur excel dans lequel la cellule AX9 renvoie une valeur.
Je cherche à faire une macro qui me colorierait l'onglet en vert si AX9 > 1 et en rouge si c'est = 0.
Pouvez-vous m'aider ?
Merci.
 
Dernière modification par un modérateur:
Re : Coloration d'un onglet selon valeur.

Re,

à mettre dans le code de la feuille concernée

Code:
Private Sub Worksheet_Calculate()
    With ActiveSheet.Tab
        .TintAndShade = 0
        If Range("AX9").Value >= 1 Then
            .Color = 5296274
        Else
            .Color = 255
        End If
    End With
End Sub

Edit : Oups, ça a tendance à mettre de la couleur pas forcément sur le bon onglet mais sur l'onglet actif
ça devrait être mieux comme ça :

Code:
Private Sub Worksheet_Calculate()
    With Range("AX9").Parent.Tab
        .TintAndShade = 0
        If Range("AX9").Value >= 1 Then
            .Color = 5296274
        Else
            .Color = 255
        End If
    End With
End Sub
 
Dernière édition:
Re : Coloration d'un onglet selon valeur.

Bonjour à tous

Si toutes les feuilles sont concernées
Tu peux aussi essayer ceci (à mettre dans ThisWorkBook)

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Tab.ColorIndex = IIf(Sh.[AX9] >= 1, 4, 3) 
End Sub

Tu peux choisir un autre événement si celui-là ne te convient pas.
 
Re : Coloration d'un onglet selon valeur.

Re,

Finalement, cela colle plus à tes critères

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not IsEmpty(Sh.[AX9]) Then
Sh.Tab.ColorIndex = Switch(Sh.[AX9] >= 1, 4, Sh.[AX9] = 0, 3)
End If
End Sub

Et pour le fun, tu peux aussi l'écrire ainsi
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not IsEmpty(Sh.[AX9]) Then
Sh.Tab.ColorIndex = 3 - (Sh.[AX9] >= 1)
End If
End Sub
 
Dernière édition:
Re : Coloration d'un onglet selon valeur.

Bonjour à tous, je me demandais si on pouvait adapter ce code de la manière suivante (toujours pour AX9) :
Si < -5 rouge, si entre 0 et - 5 orange et si positif vert.
Je pensais à adapter le code comme suit, mais ça n'a pas l'air de fonctionner.

Code:
Private Sub Worksheet_Calculate()
    With Range("AX9").Parent.Tab
        .TintAndShade = 0
        If Range("AX9").Value =< -5 Then
            .Color = 5296274
        Else
             If Range("AX9").Value < -4 And < 0 Then
            .Color = 49407
             End If
        Else
             .Color = 255
        End If
    End With
End Sub

Pouvez-vous m'indiquer ou est mon erreur svp ?
 
Re : Coloration d'un onglet selon valeur.

Bonjour à tous,

Peut-être, vois si les bornes sont correctes pour ton besoin

Code:
    With Range("AX9").Parent.Tab
        .TintAndShade = 0
        If Range("AX9").Value <= -5 Then
            .Color = 5296274
        ElseIf Range("AX9").Value > -5 And Range("AX9").Value < 0 Then
            .Color = 49407
        Else
             .Color = 255
        End If
    End With
 
Re : Coloration d'un onglet selon valeur.

Merci beaucoup, les valeurs dans AX9 étant un pourcentage, j'ai adapté le code comme suit :

Code:
Private Sub Worksheet_Calculate()
       With Range("AX9").Parent.Tab
         .TintAndShade = 0
         If Range("AX9").Value <= -0.05 And Range("AX9").Value >= 0 Then
             .Color = 5296274
         ElseIf Range("AX9").Value > -0.05 And Range("AX9").Value < 0 Then
             .Color = 49407
         Else
              .Color = 255
         End If
     End With
End Sub

J'ai une dernière question. Je voudrais savoir comment faire pour appliquer la macro à l'ensemble du classeur et non plus à une seule feuille.
La je sèche complètement...
A bientôt !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
199
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…