Note: The other languages of the website are Google-translated. Back to English
English English
  • Documents
  • Excel
  • Comment lier automatiquement une couleur de cellule à une autre dans Excel?

Comment lier automatiquement une couleur de cellule à une autre dans Excel?

Lorsque vous utilisez Microsoft Excel, savez-vous comment lier automatiquement une couleur de cellule à une autre? Cet article vous montrera la méthode pour y parvenir.

Lier automatiquement une couleur de cellule à une autre avec le code VBA


Lier automatiquement une couleur de cellule à une autre avec le code VBA

Supposons que vous souhaitiez lier la couleur de remplissage de la cellule A1 à C1, lors de la modification de la couleur de remplissage de A1, la couleur de C1 deviendra automatiquement la même. Veuillez faire comme suit.

1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous avez besoin pour lier une couleur de cellule à une autre, puis cliquez sur Voir le code dans le menu contextuel.

2. Dans l'ouverture Microsoft Visual Basic pour applications , veuillez copier et coller le code VBA ci-dessous dans le Code fenêtre.

Code VBA: lier automatiquement une couleur de cellule à une autre dans Excel

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

Notes: vous pouvez modifier la référence des cellules dans le code selon vos besoins.

3. Continuez d'appuyer sur le autre + Q clés en même temps pour fermer le Microsoft Visual Basic pour applications fenêtre.

À partir de maintenant, lors de la modification de la couleur de remplissage de la cellule A1, la couleur de remplissage de la cellule C1 sera automatiquement remplacée par la même couleur.


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité en
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 que
    300
    Caractéristiques puissantes
    . Prend en charge Office/Excel
    2007-2019 et 365
    . Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes
    30
    -jour d'essai gratuit. 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é en
    50 %
    , et réduit chaque jour des centaines de clics de souris !
bas de cabine
Commentaires (47)
Noté 4.5 hors 5 · évaluations 1
Ce commentaire a été minimisé par le modérateur sur le site
qu'en est-il entre les feuilles du même classeur - veuillez indiquer comment la formule change-t-elle? Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Super tutoriel. Merci :) !!!!
Ce commentaire a été minimisé par le modérateur sur le site
oui je voudrais savoir comment refléter une couleur sur une autre feuille ??? J'ai une formule dans les deux cases mais j'aimerais que la couleur de celle-ci reflète la couleur de l'écoute de grand-voile lorsqu'elle change. c'est-à-dire que la feuille de date de formation est dans 30 jours et que la case passe au rouge ; la case correspondante sur l'écoute de grand-voile, la case avec le "X" passe également au rouge.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Jessica,
Qu'est-ce que tu veux dire par boîte ? Zone de texte?
Ce commentaire a été minimisé par le modérateur sur le site
Existe-t-il un moyen de le faire si les deux cellules se trouvent dans des classeurs différents?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Dustin,
Impossible de gérer différents classeurs. Merci pour votre commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai vu ici, dans l'explication, comment faire pour une cellule, comment faire pour quelques cellules ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Rogerio,
Voulez-vous dire lier la couleur de remplissage d'une cellule à plusieurs cellules en même temps ?
Ce commentaire a été minimisé par le modérateur sur le site
y su el la celda A1 tiene un format condicional ?
Ce commentaire a été minimisé par le modérateur sur le site
Si les cellules sont des feuilles différentes?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Mario,
Supposons que vous souhaitiez lier la couleur de la cellule A1 dans la feuille de calcul actuelle à la plage B1: J19 dans Sheet2, veuillez appliquer le code VBA ci-dessous. Après avoir changé la couleur de remplissage de A1, veuillez cliquer sur une autre cellule de la feuille de calcul en cours pour activer le code.

Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Estomper xStrAddress en tant que chaîne
xStrAddress = "Feuille2 !$B$1:$J$19"
Définir xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Ça a marché. Comment cela fonctionnerait-il si les modifications A1 dans Sheet1 se produisaient sur B1 dans Sheet2, mais également A2 dans Sheet1 sur B2 dans Sheet2 ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Quelqu'un peut-il aider avec la question ci-dessus dès que possible, j'en ai désespérément besoin et je manque de temps.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
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 xRg As Range
Estomper xStrAddress en tant que chaîne
xStrAddress = "Feuille2 !$B$1"
Définir xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
xStrAddress = "Feuille2 !$B$2"
Définir xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A2").Interior.Color
xStrAddress = "Feuille2 !$B$3"
Définir xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A3").Interior.Color
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Не могли бы вы написать прям оригинальный код,без разъяснений,я новичок и вооппе не могн)
Ce commentaire a été minimisé par le modérateur sur le site
Malheureusement, cela n'a pas fonctionné pour moi. Je me demande si c'est parce que la cellule d'origine est une liste avec une règle de mise en forme conditionnelle pour changer les couleurs d'arrière-plan en fonction de l'option choisie dans la liste.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Amanda,
Ce code ne fonctionne pas pour la couleur de remplissage attribuée par la règle de mise en forme conditionnelle. Désolé pour le dérangement.
Ce commentaire a été minimisé par le modérateur sur le site
Est-il possible de lier la couleur d'une gamme sur une feuille à une autre gamme de même taille sur une autre feuille ? Par exemple, j'ai des couleurs alternées toutes les deux lignes et je souhaite que ce jeu de couleurs soit copié sur une autre feuille.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Charles,
Le code ci-dessous peut vous rendre service. Si vous souhaitez lier la couleur de la gamme A1: A19 sur Sheet1 à la même gamme "A1: A19" sur Sheet2, veuillez copier le code dans la fenêtre Code de Sheet1, après cela, cliquez sur n'importe quelle cellule de Sheet1 pour activer le code. J'espère que je peux aider. Merci pour votre commentaire.

Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Estomper xStrAddress en tant que chaîne
xStrAddress = "Feuille2 !$A$1:$A$19"
Définir xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1:A19").Interior.Color
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
ce code semble fonctionner si je fais référence à une cellule mais si je saisis une plage, la plage de la feuille 2 devient noire au lieu de faire face à la couleur intérieure.

des idées pourquoi cela pourrait se produire?
Ce commentaire a été minimisé par le modérateur sur le site
Salut Joey,
Désolé pour l'erreur. Essayez ce code :

Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = "Feuille2 !$A$1:$A$10"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Crystal,
Merci beaucoup. Marche parfaitement!
Tu es incroyable! O_o
Ce commentaire a été minimisé par le modérateur sur le site
Salut Crystal!
À quoi ressemble le même code si je veux qu'il soit copié à la fois sur Feuil2 et Feuil3 en même temps ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut quelqu'un peut répondre à cette question. J'essaie de faire exactement cela et je n'ai pas de chance.
Ce commentaire a été minimisé par le modérateur sur le site
Cela ne fonctionne pas pour moi. Je continue à recevoir une erreur sur "erreur de compilation, nom ambigu détecté"....
Ce commentaire a été minimisé par le modérateur sur le site
Cela ne fonctionne pas pour moi. la plage de cellules n'est pas la même sur les deux feuilles. pouvez-vous aider à conseiller quoi faire ou comment ajuster le code pls?
Ce commentaire a été minimisé par le modérateur sur le site
Salut LG,
Il y a deux lignes que vous pouvez modifier : la plage "1 $A : 10 $A" de la huitième ligne, et le "Feuille2 !$A$1 :$A$10" de la sixième ligne, qui indiquent que vous allez lier la couleur de remplissage de la plage A1: A10 dans une feuille de calcul (en supposant que Sheet1 et le code doivent être ajoutés à cette fenêtre de code de feuille) à la même plage dans Sheet2.
Vous pouvez spécifier deux plages différentes selon vos besoins. Et assurez-vous que le nom de feuille que vous tapez dans la sixième ligne est un nom de feuille existant.
Ce commentaire a été minimisé par le modérateur sur le site
Je m'en sers pour créer des motifs de tissage. J'aimerais avoir plusieurs ensembles de groupes donc je n'ai qu'à changer une cellule pour voir ce qui va se passer dans mon pattern. Cela a fonctionné de la cellule a1 à c1, mais lorsque j'ai essayé d'ajouter un nouvel ensemble a2 à c1, cela n'a pas fonctionné. Je peux mal comprendre, mais j'ai copié la même formule sous la première et changé les références de cellule. Est-ce le problème? Y a-t-il un autre moyen ?
Ce commentaire a été minimisé par le modérateur sur le site
Celui-ci a fonctionné pour moi lors du collage d'une deuxième référence de feuille - mais j'ai dû faire une modification, je vais montrer la modification ci-dessous afin que vous puissiez voir la première version de Crystal, puis la mienne avec une modification qui a fonctionné lorsque j'avais besoin d'inclure deux ensembles à la place d'un. C'est celui que Crystal a donné à Joey après avoir déclaré que la plage cible était devenue noire lorsqu'il l'avait essayée :
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = "Feuille2 !$A$1:$A$10"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub
Mon mod qui a fonctionné pour inclure deux ensembles (par exemple, référencer différentes colonnes ou lignes ou ce que vous avez) était d'inclure cette partie :
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
après chacun de mes "sets"
Donc, sans modifier les ensembles d'échantillons que Crystal a donnés pour qu'ils soient différents les uns des autres (ce qui sera probablement le vôtre si vous essayez de vous référer à différentes lignes, etc.), cela ressemblerait à ceci :
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = "Feuille2 !$A$1:$A$10"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
xStrAddress = "Feuille2 !$A$1:$A$10"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub

avec les lignes 6-8 et 13-15 étant les "sets" et les lignes 9-12 et 16-19 étant le code qui doit se répéter après chaque set.
J'espère que cela a du sens parce que je ne sais rien à ce sujet, je viens de trouver un moyen de copier ce qui a été répertorié ici qui a fonctionné. La première fois que j'ai essayé d'avoir deux ensembles en me connectant au code tel quel, le premier ensemble a rendu les cellules noires et le second a fonctionné et a donné aux cellules cibles la bonne couleur. J'ai finalement compris que pour fonctionner, chaque ensemble avait besoin du code de la ligne 9-12 après lui. Ce mod a permis aux couleurs appropriées de (dans mon cas) être transférées de deux colonnes différentes sur la feuille d'origine vers les cellules correspondantes dans une plage donnée sur la feuille cible.
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je lier les couleurs d'une cellule en fonction de la valeur et de la couleur d'une autre cellule à lier automatiquement.

Fort Exemple.



J'ai la valeur de la feuille 1 est de 898 et sur la feuille 2 la valeur est de 898 et cette cellule est colorée en rose. Comment puis-je lier la même couleur pour qu'elle soit la même en fonction de l'indice, la feuille 2 doit être liée à la feuille 1 - afin qu'elle puisse afficher la même couleur. Mais ce serait une gamme; en utilisant la ligne entière pour faire correspondre ses valeurs, puis liez les couleurs.



Toute aide est grandement appréciée
Ce commentaire a été minimisé par le modérateur sur le site
Salut esad, j'ai le même cas avec vous actuellement, j'apprécierais que vous partagiez
Ce commentaire a été minimisé par le modérateur sur le site
Je cherche à copier les couleurs générées à partir d'une table au format conditionnel vers une autre table - automatiquement avec une formule/fonction. Est-ce possible ?
Ce commentaire a été minimisé par le modérateur sur le site
Hy,
J'aimerais que lorsque je change manuellement la couleur dans la colonne A feuille1 pour changer automatiquement la couleur dans la colonne A feuille2.
Je demande de l'aide. Merci
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Ivana, veuillez essayer le code ci-dessous. Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Mis à jour par Extendoffice 20201127
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = "Feuille2 !$A$1:$A$100"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$100")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Hola buenas tardes. Como hacer que cuando seleccione una celda se active otra, y si selecciono otro cambie a otro celda con que este vinculada.Ejemplo: si alecciono A1 se active celda H20, y si doy otro clic se desactive. Se que seria mucho trabajo porque tendria que programar cada celda, pero no importa, es solo saber como hacerlo. Gracias por su apoyo !
Ce commentaire a été minimisé par le modérateur sur le site
salut le code ci-dessus a fonctionné mais ne fonctionnera pas plusieurs fois dans une seule feuille? 
Ce commentaire a été minimisé par le modérateur sur le site
Salut à tous,

Mon problème est que ma page d'accueil (1ère feuille) contient un résumé des informations fournies dans les feuilles suivantes. Toutes les cellules pertinentes ont été formatées pour refléter la valeur de leurs cellules correspondantes dans les autres feuilles.

ainsi, par exemple, la cellule F7 de la page d'accueil de ma cellule est déjà formatée afin de copier la valeur de la cellule correspondante dans la feuille source :
=trimestre1!B15

Maintenant, ce que je voudrais vraiment, c'est que les cellules de ma page d'accueil correspondent également à la couleur que je sélectionne manuellement pour leur cellule (source) correspondante dans une autre feuille. Est-ce possible en utilisant le codage VBA?

J'ai reçu le code ci-dessous d'un autre site mais cela ne fonctionne que si les cellules sont sur la même feuille.
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

Existe-t-il un moyen de modifier ce code pour faire référence à une cellule sur une autre feuille du même classeur?

Merci beaucoup pour votre aide!
Ce commentaire a été minimisé par le modérateur sur le site
Salut je me demande si tu peux m'aider s'il te plait
J'ai une feuille de calcul qui a le nom des membres de l'équipe (17 d'entre eux) dans la ligne 2
Dans la colonne H, nous attribuerions une tâche à un membre de l'équipe
Dans la colonne T, nous avons les données pour montrer à quel stade se trouve le membre de l'équipe pour cette tâche (vert/orange/rouge)
Ce que je voudrais faire, c'est amener la couleur de la tâche du col T au col H avec le nom que nous aurions entré

Toute aide serait grandement appréciée
Ce commentaire a été minimisé par le modérateur sur le site
Salut Ann,
Accepteriez-vous de fournir une capture d'écran de vos données ? Désolé pour le dérangement.
Ce commentaire a été minimisé par le modérateur sur le site
Selon pièce jointe
Les noms des équipes sont dans la ligne 2 (R à AD)
Chaque ligne sous le nom de l'équipe se rapporte à la tâche dans la colonne D
Ce que je voudrais, c'est quand un nom est entré dans Col L, il colore cette cellule avec la couleur du col des membres de l'équipe sur cette ligne
par exemple, dans Col L, entrez Emma, ​​il regarde Emma dans W1 et ramène Green de W2. si c'était Paula, il regarderait Paula dans T1 et apporterait de l'ambre de T2, etc.
Le nom entré resterait toujours comme exemple dans L2 & 3

Merci de votre aide
Je ne sais pas comment joindre une capture d'écran ou un FICHIER, je peux l'envoyer par e-mail
Ce commentaire a été minimisé par le modérateur sur le site
Salut Ann,
J'ai essayé certaines méthodes et je n'arrive toujours pas à résoudre votre problème. Désolé pour le dérangement.
Ce commentaire a été minimisé par le modérateur sur le site
Merci d'avoir essayé
Ce commentaire a été minimisé par le modérateur sur le site
Aqui la tiene en ingles


Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = ("Hoja2!A1")
Définir xRg = Application.Range(xStrAddress)
Définir xCRg = Me.Range("A1")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
J'ai trouvé le succès en utilisant cette ligne de code:
Private Sub Worksheet_SelectionChange (Cible ByVal en tant que plage)
Dim xRg As Range
Dim xCRg As Range
Estomper xStrAddress en tant que chaîne
Dim xFNum en tant qu'entier
xStrAddress = "Feuille2 !$A$1:$A$10"
Définir xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Pour xFNum = 1 à xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Suivant
End Sub

J'aimerais pouvoir utiliser une plage pour en influencer plusieurs autres dans une section de code. IE, si je change une couleur dans $A$1:$A$10, cela change la couleur dans $C$10:$C$19, $D$21:$D$30 et $F$10:$F$19. Est-ce possible? Merci.
Ce commentaire a été minimisé par le modérateur sur le site
Salut à tous, n'importe qui peut m'aider avec le même cas avec esad
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés

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