Note: The other languages of the website are Google-translated. Back to English

Comment changer la couleur de l'onglet de la feuille en fonction de la valeur de la cellule?

Normalement, vous pouvez changer la couleur de l'onglet facilement et rapidement dans Excel, mais avez-vous déjà essayé de changer la couleur de l'onglet en fonction de la valeur de la cellule dans une feuille de calcul? Si vous êtes intéressé par cette tâche, je parlerai de certains codes pour vous permettre de colorer l'onglet de la feuille en fonction d'une valeur de cellule spécifique dans Excel.

Changer la couleur d'un onglet de feuille en fonction de la valeur de la cellule avec le code VBA

Modifier plusieurs onglets de feuille en fonction de la valeur de la cellule avec le code VBA


flèche bleue bulle droite Changer la couleur d'un onglet de feuille en fonction de la valeur de la cellule avec le code VBA

Par exemple, je veux que la couleur actuelle de l'onglet de la feuille soit verte si la valeur de la cellule dans A1 est le texte «TRUE», la couleur de l'onglet sera rouge si le texte de A1 est «FALSE» et la couleur de l'onglet sera bleue si la valeur de la cellule A1 est tout autre texte comme illustré ci-dessous:

feuille de couleur doc par valeur 1

1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez modifier la couleur en fonction des données de la cellule A1, puis choisissez Voir le code dans le menu contextuel.

2. Dans le Microsoft Visual Basic pour applications fenêtre, copiez et collez le code VBA ci-dessous dans le Module fenêtre.

Code VBA: modifiez la couleur d'un onglet de feuille en fonction de la valeur de la cellule:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    If Target.Address = "$A$1" Then
        Select Case Target.Value
        Case "False"
            Me.Tab.Color = vbRed
        Case "True"
            Me.Tab.Color = vbGreen
        Case Else
            Me.Tab.Color = vbBlue
        End Select
    End If
End Sub

feuille de couleur doc par valeur 2

Remarque : Dans le code ci-dessus, A1 est la référence de cellule sur laquelle vous souhaitez colorer l'onglet en fonction de "Vrai","Faux”Sont le texte dont vous avez besoin, vous pouvez les modifier selon vos besoins et vous pouvez changer la couleur du code selon vos besoins.

3. Ensuite, enregistrez et fermez cette fenêtre de code, maintenant, lorsque vous entrez le texte "Vrai" dans la cellule A1, la couleur de l'onglet actuelle deviendra verte, et lorsque vous entrez le texte "Faux" dans la cellule A1, la couleur de l'onglet deviendra rouge, et si un autre texte est entré dans la cellule A1, la couleur de l'onglet deviendra automatiquement bleue.


flèche bleue bulle droite Modifier plusieurs onglets de feuille en fonction de la valeur de la cellule avec le code VBA

Si vous devez modifier la couleur de plusieurs onglets de feuille en fonction d'une valeur de cellule, voici également un code qui peut vous aider, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre, dans la fenêtre ouverte, double-cliquez Ce classeur sous le VBAProjet section, puis copiez et collez le code ci-dessous dans l'espace vide Module:

Code VBA: modifiez plusieurs onglets de feuille en fonction de la valeur de la cellule:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  'Updateby Extendoffice 20160930
  Select Case Sheets("Master").Range("A1").Value
         Case "KTE"
             Sheets("Sheet1").Tab.Color = vbRed
         Case "KTO"
             Sheets("Sheet2").Tab.Color = vbGreen
         Case "KTW"
             Sheets("Sheet3").Tab.Color = vbBlue
         End Select
End Sub

feuille de couleur doc par valeur 3

Remarque : Dans le code ci-dessus, A1 et Master sont la cellule et la feuille de calcul sur lesquelles vous souhaitez colorer l'onglet, Sheet1, Sheet2, Sheet3 sont les feuilles de calcul dont vous souhaitez colorer les onglets. KTE, KTW, OMS sont les valeurs de cellule dans A1 sur lesquelles vous souhaitez colorer les onglets, vous pouvez modifier les références et les couleurs dans le code selon vos besoins.

2. Ensuite, enregistrez et fermez cette fenêtre de code, maintenant, lorsque vous entrez le texte KTE dans la cellule A1 de la feuille maître, l'onglet Sheet1 sera coloré en rouge, lorsque vous entrez KTO dans la cellule A1, la feuille Sheet2 sera colorée en vert, et quand vous entrez KTW dans la cellule A1, la feuille Sheet3 sera colorée en bleu, voir capture d'écran:

feuille de couleur doc par valeur 4


Les meilleurs outils de productivité de bureau

Kutools for Excel Résout la plupart de vos problèmes et augmente votre productivité de 80 %

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (23)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Cher Monsieur.
veuillez m'aider à changer la couleur de l'onglet de la feuille en fonction de la date/du jour.

pour Par exemple:-
si la feuille n° 1 est dimanche alors - onglet feuille 'ROUGE'
si la feuille n° 2 est lundi alors - onglet feuille 'Vert'
si la feuille n° 3 est mardi alors - onglet feuille 'Vert'
si la feuille n° 4 est mercredi alors - onglet de feuille 'Vert'
si la feuille n° 5 est jeudi alors - onglet de feuille 'Vert'
si la feuille n° 6 est vendredi, alors - onglet feuille 'Vert'
si la feuille n° 7 est le samedi, alors - onglet de feuille 'Vert'

veuillez m'aider pour le problème Excel ci-dessus.

Merci et salutations
Faiz Ibn Uvaiz P.
Ce commentaire a été minimisé par le modérateur sur le site
Votre description est un peu vague quant à ce que vous essayez réellement de faire. Si le classeur ne dure qu'une semaine, coloriez les onglets. Si la durée est supérieure à une semaine, la solution est un peu plus complexe. Jusqu'à ce que vous détailliez le problème, plusieurs solutions sont disponibles. Moi, et beaucoup de gens, ne passerons pas notre temps à coder gratuitement 2,000 1 solutions pour vous. Mais vous détaillez le problème que nous pourrions fournir XNUMX solution.
Ce commentaire a été minimisé par le modérateur sur le site
comment puis-je changer la couleur d'un onglet en fonction de la météo une plage de cellules contient du texte
Ce commentaire a été minimisé par le modérateur sur le site
La formule fonctionne pour 'True' - l'onglet de la feuille est ROUGE, donc c'est génial mais si je le change de 'True' à 'False', je veux que l'onglet de la feuille ait 'pas de couleur'. Quelle est la formule pour aucune couleur sur l'onglet de la feuille si 'True' n'est pas sélectionné ? Aussi, si je veux que la formule soit pour un groupe de cellules, par exemple. A1:A30 quel est le code que j'utilise ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Shannon :
Le code VBA suivant peut vous rendre service, veuillez l'essayer :

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Dim xRg As Range
Définir xRg = Intersection(Cible, Plage("A1:A30"))
Si xRg n'est rien, quittez Sub
Sélectionnez Case Target.Value
Cas "vrai"
Me.Tab.Color = vbRed
Cas "Faux"
Me.Tab.Color = Faux
End Select
End Sub

J'espère que cela pourra vous aider !
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen de modifier la couleur de l'onglet en fonction de ce qui suit : j'ai un onglet principal où les lignes 3 à 7 sont colorées en bleu et correspondront aux onglets correspondants 3 à 7 (qui sont nommés en fonction des valeurs de cellule dans le maître dans ces rangées) que je voudrais colorier en bleu. Ensuite, les rangées 8 à 12 sont colorées en vert et correspondent également aux onglets 8 à 12 et ainsi de suite.
Ce commentaire a été minimisé par le modérateur sur le site
C'était une super astuce.
J'ai lié la couleur de l'onglet en fonction de la valeur de la cellule A1 (<>0 RED et =0 Green), cependant, la macro ne s'exécute que si je sélectionne A1 , appuyez sur F2 puis appuyez sur Entrée. Sans faire cela bien que la couleur de l'onglet (en fonction de sa valeur) devrait être, disons Rouge, mais reste verte.
J'utilise excel 2007.
Ce commentaire a été minimisé par le modérateur sur le site
Est-il possible de faire fonctionner cela lorsque la cellule A1 peut avoir les 3 réponses sur des lignes séparées dans la cellule ? C'est-à-dire que KTE, KTO et KTW sont tous présents dans la cellule car ils permettent plusieurs sélections dans une liste déroulante.
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie d'utiliser ce code et de l'appliquer à une case à cocher, donc quand je coche la case, la couleur change, si je la décoche, elle revient (j'ai vrai=vert, faux=rouge, sinon=rouge) . Mais quand je coche et décoche, cela génère une erreur "objet nécessaire"


Sous-contrôle privé CheckBox1_Click ()
_____Si Target.Address = "$e$5" Alors 'erreur ici
__________Sélectionnez Case Target.Value
__________Cas "Faux"
_______________Me.Tab.Color = vbRed
__________Cas "Vrai"
_______________Me.Tab.Color = vbGreen
__________Cas Autre
_______________Me.Tab.Color = vbRed
__________Fin Sélectionner
_____Fin si
End Sub

Je l'ai copié et collé pour le voir fonctionner, puis l'ajuster à mes besoins, mais je ne trouverais pas le moyen de le faire fonctionner.
Ce commentaire a été minimisé par le modérateur sur le site
Chers collègues,
Veuillez demander de l'aide. Je dois changer la couleur de l'onglet de la feuille en fonction de la valeur au format [h]:mm. Par exemple si la valeur est inférieure à 20:00 - rouge, >20:00 vert.
Merci et salutations!
Ce commentaire a été minimisé par le modérateur sur le site
Chers collègues,
Veuillez demander de l'aide. Je dois changer la couleur de l'onglet de la feuille en fonction de la valeur au format [h]:mm. Par exemple si la valeur est inférieure à 20:00 - rouge, >20:00 vert.
Merci et salutations!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Viktor,
Le code VBA ci-dessous peut résoudre votre problème, veuillez essayer, j'espère qu'il pourra vous aider !

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Dim xStr As String
Dim xSN en tant que chaîne
Estomper xDate en tant que chaîne
Dim xAddress As String
Dim xArr() As String
Dim xI1 en tant qu'entier
Dim xSM en tant que chaîne
xDate = "20:00"
xAdresse = "$A$1"
Si Target.Address <> xAddress Then Exit Sub
xStr = Cible.Texte
xArr = Split(xStr, ":")
Si (UBound(xArr) - LBound(xArr) + 1) > 2 Alors Quitter Sub
xI1 = Int(xArr(0))
Si (Len(xArr(0)) - 2) < 1 Alors
Si xI1 > 23 Alors Quitter Sub
autre
Exit Sub
Si fin
xSM = xArr(1)
En cas d'erreur GoTo Err01
Si (Len(xSM) - 2) <> 0 Alors Quitter Sous
Si Int(Left(xSM, 1)) > 5 Then Exit Sub
Si Int(Right(xSM, 1)) > 10 Alors Quitter Sub
Si xI1 >= 20 Alors
Me.Tab.Color = vbGreen
autre
Me.Tab.Color = vbRed
Si fin
Err01 :
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Cher Skyyang,
Désolé pour le retour trop tardif. Cette formule fonctionne lorsque je modifie manuellement la valeur dans la cellule. Mais ce n'était pas ce dont j'avais besoin.
La valeur de la cellule est le résultat d'une formule à partir de feuilles de différence. Par exemple, il s'agit de la formule dans la cellule "O13-'520'!AD3". Cela signifie que la valeur de cette cellule change en fonction de la valeur de la cellule déférente dans la feuille déférente. Ce dont j'ai besoin, c'est que la couleur de la feuille soit modifiée automatiquement lorsque la valeur dans la cellule "O13-'520'!AD3" est modifiée, lorsque la valeur dans la cellule "O13-'520'!AD3" est inférieure à 05:00 - rouge , >20:00 vert, entre 05:00 et 20:00 brun.
Merci à l'avance et meilleures salutations!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour à tous, comment changer la couleur des onglets en fonction d'une certaine valeur dans la colonne des multiples feuilles ? Merci
Ce commentaire a été minimisé par le modérateur sur le site
Comment lieriez-vous l'onglet à une valeur dans un autre onglet. Dans mon exemple, j'ai un onglet avec toutes les informations qui filtrent automatiquement vers différents onglets. Cependant, chaque onglet s'affichera en vert ou en rouge, selon qu'il y a ou non un solde impayé sur l'onglet principal. Cela peut-il être fait en utilisant ce code et si oui, où dois-je écrire le lien vers la feuille principale dans ce code ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Je n'ai jamais fait de code dans Excel auparavant. J'ai besoin d'un code qui fasse ce que fait ce code, mais j'ai besoin d'un autre paramètre.

Donc ce qu'il me faut c'est :

Si la valeur de la cellule n'est pas 0, et/ou si une autre cellule contient des nombres, en utilisant count, puis changez la couleur en rouge

Si la valeur de la cellule est 0 et que ces autres cellules sont vides, utilisez le nombre, puis changez la couleur en vert
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Essayer de changer la couleur des onglets en fonction de la valeur sur une feuille séparée appelée Suivi, voici ce que j'ai essayé, mais cela ne semble pas fonctionner. Merci




Private Sub Worksheet_Change (Cible ByVal en tant que plage)

'Mettre à jour par Extendoffice 20160930

Si Target.Address = "Suivi !$C$2" Alors

Sélectionnez Case Target.Value

Cas "ip"

Me.Tab.Color = vbRed

Cas "w"

Me.Tab.Color = vbYellow

Cas "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

Si fin

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Brad,
Pour que le code s'exécute correctement, vous ne devez pas insérer le nom de la feuille dans le code, veuillez appliquer le code suivant : (cliquez sur le nom de la feuille sur laquelle vous souhaitez exécuter ce code, puis cliquez avec le bouton droit sur le nom de la feuille et choisissez Afficher le code, puis coller le code dans le module)

Private Sub Worksheet_Change (Cible ByVal en tant que plage)

'Mettre à jour par Extendoffice 20160930

Si Target.Address = "$C$2" alors

Sélectionnez Case Target.Value

Cas "ip"

Me.Tab.Color = vbRed

Cas "w"

Me.Tab.Color = vbYellow

Cas "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

Si fin

End Sub

S'il vous plaît essayez, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Je cherche à changer la couleur de l'onglet en fonction de l'un des 2 résultats d'une formule J'ai une formule =IF((AND(AA1="Occupied",AA2="Occupied",AA3="Occupied",AA4=" Occupé")), "Occupé","Vacant")
J'ai besoin que l'onglet soit rouge si "Occupé" et vert si "Vacant". Cependant, le code ci-dessus dans le message principal ne reconnaît pas la sortie de If Than
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
J'ai besoin d'aide
Je dois changer la couleur de l'onglet de la feuille uniquement si dans une certaine plage de cellules, a la date d'aujourd'hui
Dites par exemple,
La colonne L a des dates au format (13-mai-22)
L'une des valeurs de la cellule est la date d'aujourd'hui, puis la couleur de l'onglet doit passer au rouge
S'il vous plaît aider
Merci d'avance
Ce commentaire a été minimisé par le modérateur sur le site
Je voudrais que mon onglet change de couleur si une cellule de la colonne O ou de la colonne P contient une valeur. Est-ce possible?

Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Je souhaite définir la couleur de l'onglet de la feuille en fonction de la couleur de la cellule j4 de chaque feuille. Il y a plus de 18 onglets et vous souhaitez mettre à jour les couleurs des onglets lorsque le classeur est ouvert. Si je ne peux pas mettre à jour lors de l'ouverture, je peux exécuter la macro après que les équipes aient mis à jour les feuilles.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, bois
Pour résoudre votre problème, veuillez appliquer le code ci-dessous : (Notez les: Copiez et collez le code ci-dessous dans le Ce classeur mode code)
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call SetSheetColor
End Sub

Private Sub Workbook_Open()
Call SetSheetColor
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call SetSheetColor
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call SetSheetColor
End Sub

Sub SetSheetColor()
Dim xWShs As Sheets
Dim xRg As Range
Dim xFNum As Integer
Dim xSh As Worksheet
On Error Resume Next
Set xWShs = Application.ActiveWorkbook.Sheets
For xFNum = 1 To xWShs.Count
    Set xSh = xWShs.Item(xFNum)
    Set xRg = xSh.Range("J4")
    xSh.Tab.Color = xRg.Interior.Color
Next
End Sub


https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-color-sheet.png

S'il vous plaît essayez, j'espère que cela peut vous aider!
Il n'y a pas encore de commentaires postés ici

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL