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

Comment définir la couleur de cellule égale à une autre couleur de cellule dans Excel?

Si vous souhaitez faire correspondre une couleur de cellule à une autre, une méthode de cet article peut vous aider.

Définir la couleur de cellule égale à une autre couleur de cellule avec le code VBA


Définir la couleur de cellule égale à une autre couleur de cellule avec le code VBA


La méthode VBA ci-dessous peut vous aider à définir une couleur de cellule égale à une autre dans Excel. Veuillez faire comme suit.

1. Dans la feuille de calcul, vous devez faire correspondre la couleur de deux cellules, cliquez avec le bouton droit sur l'onglet de la feuille, puis cliquez sur Voir le code dans le menu contextuel. Voir la capture d'écran:

2. Dans l'ouverture Microsoft Visual Basic pour applications , vous devez copier et coller le code VBA dans la fenêtre Code.

Code VBA: définir la couleur de cellule égale à une autre couleur de cellule

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

Notes: Dans le code, A1 est la cellule contient la couleur de remplissage que vous associez à C1. Veuillez les modifier en fonction de vos besoins.

Ensuite, la cellule C1 est remplie de la même couleur de cellule A1 que la capture d'écran ci-dessous.

À partir de maintenant, lorsque la couleur de remplissage de A1 est modifiée, C1 sera automatiquement associé à la même couleur.


Articles Liés:


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-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. 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 (19)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, la cellule référencée pour la couleur change de couleur en fonction de la mise en forme conditionnelle. Ce qui précède ne semble pas fonctionner avec cela et les cellules de destination restent vides. Comment cela peut-il être corrigé ? Merci
Ce commentaire a été minimisé par le modérateur sur le site
J'ai le même problème. Fonctionne sur les cellules sans mise en forme conditionnelle mais pas avec celles qui le font
Ce commentaire a été minimisé par le modérateur sur le site
Si vous disposez d'Excel 2010 ou d'une version ultérieure, vous pouvez utiliser la fonction DisplayFormat pour renvoyer la couleur d'une cellule mise en forme de manière conditionnelle. Voir ci-dessous:

Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
LP, vous êtes absolument INCROYABLE !!!!!! J'ai essayé pendant très longtemps de faire correspondre les cellules à la couleur d'arrière-plan de la mise en forme conditionnelle ! tu es un sauveur!!!
Ce commentaire a été minimisé par le modérateur sur le site
cela peut-il être fait sur une plage de cellules ou juste pour une seule cellule?
Ce commentaire a été minimisé par le modérateur sur le site
Salut, serait-il possible d'étendre cela à une mise en forme conditionnelle ; ne pas correspondre à une couleur créée par le format conditionnel, mais si une condition de format conditionnel correspond, que le format conditionnel appliqué prend la couleur d'une cellule spécifique. Essayer de l'utiliser dans un diagramme de Gantt, colorier les jours entre la date de début et la date de fin, mais le format conditionnel qui génère les barres de Gantt, devrait prendre la couleur de la cellule qui contient la tâche (que j'ai définie manuellement)
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,Voudriez-vous écrire un code pour appliquer la mise en forme conditionnelle d'une colonne de données à la colonne suivante ?Dans la colonne A, j'ai une série de données de A1 à A1000, y compris la mise en forme conditionnelle qui applique la couleur dans certaines cellules. Je dois appliquer ces couleurs aux valeurs de la colonne suivante B1 à B1000.
très apprécié.
Ce commentaire a été minimisé par le modérateur sur le site
salut , comment appliquer le même VBA mais sur une plage de cellules par exemple :

je veux avoir la même couleur de gamme (C8:X8) à appliquer sur la gamme (S16:AL16) une par une dans le même ordre (S16 obtient la couleur de C16, T16 obtient la couleur de D8 .... etc)
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,

Le code VBA ci-dessous peut vous aider à résoudre le problème. Merci pour votre commentaire.

Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xSRg, xDRg, xISRg, xIDRg As Range
Atténuer xFNum aussi longtemps
On Error Resume Next
Définir xSRg = Range("C8:X8")
Définir xDRg = Plage("S16:AL16")
Pour xFNum = 1 Vers xSRg.count
Définir xISRg = xSRg.Item(xFNum)
Définir xIDRg = xDRg.Item(xFNum)
xIDRg.Interior.Color = xISRg.Interior.Color
XFNum suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Hi

J'essaie de faire la même chose, mais j'ai deux feuilles de calcul (fichiers). La feuille de calcul 1 est le maître où les données sont mises à jour manuellement et le fichier (feuille de calcul 2) est égal aux données dans la même cellule que la feuille de calcul 1. Lorsque j'ouvre la feuille de calcul 2, je reçois une invite pour actualiser avec la feuille de calcul 1 sans problème, mais si le la couleur de la cellule est modifiée dans la feuille de calcul 1, elle ne se met pas à jour dans la feuille de calcul 2, pas plus que la "grève" des polices..help s'il vous plaît ?
Ce commentaire a été minimisé par le modérateur sur le site
C'est un bon début pour ce que je cherche à faire. Mais je cherche quelque chose d'un peu plus compliqué

Comment pourrais-je adapter cela pour s'appliquer à plusieurs lignes et à une plage. Par exemple, j'ai une colonne d'en-tête dans la colonne B, je veux que les cellules de G à CS correspondent à la couleur de la ligne d'en-tête, mais seulement elles contiennent quelque chose, c'est-à-dire la lettre x. Je sais que je peux écrire une instruction IF et THEN mais comment puis-je l'appliquer à plusieurs lignes sans écrire de code pour chaque ligne.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Zack,
Désolé, je ne peux pas vous aider. Pour toute question sur Excel, n'hésitez pas à poster dans notre forum : https://www.extendoffice.com/forum.html.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai trouvé votre code pour "définir la couleur de la cellule sur une autre couleur de cellule" et cela fonctionne lorsque je l'utilise sur la même feuille de calcul (par exemple de la cellule A1 à la cellule A2). Je me demande s'il existe un moyen d'avoir ce même fonctionnalité d'une autre feuille de calcul (par exemple pour copier la couleur de la cellule de feuille1! A1 à feuille2! A1? Toute aide que vous pourriez offrir serait appréciée!
Ce commentaire a été minimisé par le modérateur sur le site
En tant que Chris, je souhaite copier la couleur d'arrière-plan d'une autre feuille de calcul?
Ce commentaire a été minimisé par le modérateur sur le site
Wow - c'est super. J'espère que vous pourrez m'aider à adapter votre script à mes besoins. Je dois faire en sorte que les cellules D10: D200 correspondent à la couleur formatée conditionnellement des cellules A10: A200 - pouvez-vous m'aider à faire fonctionner cela s'il vous plaît. Les cellules sont toutes dans la même feuille de calcul.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai joint une capture d'écran du fichier sur lequel je travaille - Je ne semble pas pouvoir télécharger un fichier .xlsm ? Dans ce fichier, j'ai utilisé le VBA d'origine de ce fil et je peux maintenant faire correspondre la couleur au format conditionnel de la cellule A10 dans D10. Comment puis-je faire fonctionner cela sur une plage de cellules? Je souhaite obtenir la couleur de la plage de cellules A10: A200 à transférer vers D10: D200. Quelqu'un peut-il aider s'il vous plaît? Une liste déroulante est utilisée dans la colonne A, mais une fois que nous avons passé une commande, nous devons être en mesure de taper le numéro de bon de commande. Les éléments de la liste sont tous configurés pour être mis en forme de manière conditionnelle avec une couleur (par exemple, COMMANDE OK devient la cellule verte, CLIENT TBC devient la cellule jaune), mais la couleur devient vide une fois le bon de commande inséré.
Ce commentaire a été minimisé par le modérateur sur le site
l'image n'a pas été téléchargée - j'espère attachée maintenant....
Ce commentaire a été minimisé par le modérateur sur le site
Salut - J'ai du mal à utiliser votre code. J'essaie de faire exactement ce que vous dites. Faites en sorte qu'une cellule soit de la même couleur qu'une autre cellule (sans aucune valeur nécessaire) sur la même feuille. Y a-t-il quelque chose dans ce code qui devrait être ajusté ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'essaie de changer certaines cellules pour qu'elles correspondent à une autre qui a été formatée de manière conditionnelle. Votre code 
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
je me suis adapté à
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Me.Range("A2:C2").Interior.Color = Me.Range("D2").DisplayFormat.Interior.Color
End Sub

Cela fonctionne bien pour une seule ligne. Comment puis-je faire en sorte que cela fonctionne dans toutes les lignes dont j'ai besoin? Si je répète le code avec la ligne suivante
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Me.Range("A3:C3").Interior.Color = Me.Range("D3").DisplayFormat.Interior.Color
End Sub

Ensuite, j'obtiens une erreur de compilation : Nom ambigu détecté : Worksheet_SelectionChange
J'ai essayé d'avoir le code asPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C10").Interior.Color = Me.Range("D2:D10").DisplayFormat.Interior.ColorEnd Sub

Mais toutes les rangées se sont juste remplies de noir plutôt que des couleurs requises. De quel codage ai-je besoin ?
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés