Passer au contenu principal

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

Auteur : Siluvia Dernière modification: 2020-06-17

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:

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement 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!
Comments (21)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
не работает ваш код

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

после его добавления, при смене цвета в ячейке С1, он изменяется на тот цвет, который был
This comment was minimized by the moderator on the site
Hi, I am trying to change come cells to match another that have been conditionally formatted. Your code 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
I adapted to
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C2").Interior.Color = Me.Range("D2").DisplayFormat.Interior.Color
End Sub

This works fine for just one row.  How do I get this to work in all of the rows I need?  If I repeat the code with the next row
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A3:C3").Interior.Color = Me.Range("D3").DisplayFormat.Interior.Color
End Sub

Then I get a Compile error: Ambiguous name detected: Worksheet_SelectionChange
I tried having the code asPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("A2:C10").Interior.Color = Me.Range("D2:D10").DisplayFormat.Interior.ColorEnd Sub

But all the rows just filled black rather than the colours required.  What coding do I need?
This comment was minimized by the moderator on the site
Hi -- I'm having a difficult time using your code. I'm trying to do exactly what you're saying. Make one cell be the same color as another cell (without any values necessary) on the same sheet. Is there something in that code that should be adjusted?
This comment was minimized by the moderator on the site
I've attached a screen shot of the file Im working on - I don't seem to be able to upload a .xlsm file? In this file I have used the original VBA from this thread and can now match the conditionally formatted colour of cell A10 in D10. How can I get this to work on a range of cells? I would like to get the colour of the range of cells A10:A200 to transfer over to D10:D200. Can anyone help please? There is a drop down list in use in the A column but once we have placed an order we need to be able to over type the purchase order number. The items in the list are all set to conditionally format to a colour (eg ORDER OK turns cell green, CLIENT TBC turns cell yellow) but the colour goes blank once the PO has been put in.
This comment was minimized by the moderator on the site
image didn't upload - hopefully attached now....
This comment was minimized by the moderator on the site
Wow - this is great. I hope you can help me adapt your script to my needs. I need to make cells D10:D200 match the conditionally formatted colour of cells A10:A200 - can you help me to get this working please. The cells are all in the same worksheet.
This comment was minimized by the moderator on the site
As Chris I am interested in copying the background color from another worksheet?
This comment was minimized by the moderator on the site
I found your code to 'set cell color to equal to another cell color" and it works when I am using it on the same worksheet ( ex from cell A1 to cell A2). I am wondering if there is a way to have this same functionality from another worksheet (ex to copy cell color from sheet1!A1 to sheet2!A1? Any help you could offer would be appreciated!
This comment was minimized by the moderator on the site
This is a good start to what I am looking to do. But I am looking for something a bit more complicated

How could I adapt this to apply to multiple rows and a range. For instance I have a header column in Column B, I want cells from G to CS to match the colour of the header row but only is they have something in them ie the letter x. I know I can write an IF and THEN statement but how would I apply it to multiple Rows without writing a code for each row.
This comment was minimized by the moderator on the site
Hi Zack,
Sorry can't help you with that. Any question about Excel, please don’t hesitate to post in our forum: https://www.extendoffice.com/forum.html.
This comment was minimized by the moderator on the site
hi , how to apply the same VBA but on a range of cells for example :

i want to have the same color of range (C8:X8) to be apply on the range (S16:AL16) one by one in the same order (S16 get the color of C16 , T16 get the color of D8 ....etc)
This comment was minimized by the moderator on the site
Good day,

The below VBA code can help you solving the problem. Thanks for your comment.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xSRg, xDRg, xISRg, xIDRg As Range
Dim xFNum As Long
On Error Resume Next
Set xSRg = Range("C8:X8")
Set xDRg = Range("S16:AL16")
For xFNum = 1 To xSRg.count
Set xISRg = xSRg.Item(xFNum)
Set xIDRg = xDRg.Item(xFNum)
xIDRg.Interior.Color = xISRg.Interior.Color
Next xFNum
End Sub
This comment was minimized by the moderator on the site
Hi

I am trying to do similar, but I have two spreadsheets (files). Spreadsheet 1 is the Master where the data is manually updated and file (spreadsheet 2) is equalling the data in the same cell as spreadsheet 1. When I open spreadsheet 2, I get a prompt to refresh with spreadsheet 1 no promlems, but if the colour of the cell is changed in spreadsheet 1 it does not update in spreadsheet 2, neither does 'strike-trough' of fonts..help please?
This comment was minimized by the moderator on the site
Hi, the cell being referenced for colour changes colour based on conditional formatting. The above doesn't seem to work with that and the destination cells are staying blank. How can this be corrected? Thanks
This comment was minimized by the moderator on the site
If you have Excel 2010 or later you can use the DisplayFormat function to return the color of a conditionally formatted cell. See below:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
This comment was minimized by the moderator on the site
AMAZING... I should have read the comments sooner as I have been struggling for a while to figure this out.
This comment was minimized by the moderator on the site
Hi,Would please write a code to apply conditional formatting from a colum of data to the next column?In colum A, I have a series of data from A1 to A1000 including conditional formatting which applies color in some of the cells. I need to apply those colors to the values in the next column B1 to B1000.
very much appreciated.
This comment was minimized by the moderator on the site
Hi, would it be possible to extend this to a conditional formatting; not to match a color created by conditional format, but if a conditional format condition is matched, that the applied conditional format takes on the color of a specific cell. Trying to use this in a gantt chart, colouring the days between start and end date, but the conditional format that generates the gantt bars, should take the color of the cell that contains the Task (which I set manually)
This comment was minimized by the moderator on the site
can this be done on range of cells or just for a single cell?
This comment was minimized by the moderator on the site
LP you are absolutely AMAZING!!!!!!i was trying for the longest time to get cells to match the conditional formatting background color! you are a lifesaver!!!
This comment was minimized by the moderator on the site
I have the same problem. Works on cells without conditional formatting but doesn't with those that do
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations