couleur de fond des cellules

P

Paul16

Guest
bonjour,
je ne suis pas très calé question Excel, mais je voudrais savoir s'il est possible de 'lier' des cellules entre elles, de façon que, si on change la couleur du fond d'une, cela changerait automatiquement la couleur du fond des cellules qui lui seraient liées.
lerci de me répondre !
à bientôt
Paul
 

Gérard DEZAMIS

XLDnaute Accro
Bonsoir Paul et André

avec cette ligne de code evenementiel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range('zone').Interior.Color = Range('a1').Interior.Color
End Sub

Tu nommes une plage de cellules (contigues ou non) ici je lui ai donné le nom très original de 'zone'
A chaque fois que tu changes la couleur de la cellule A1 les autres font de même. Etait-ce la question ?

@+ GD
 

Bricofire

XLDnaute Impliqué
Bonsoir Paul16, André, @+GD, :)

Oui, tu peux faire un truc du genre, sans VBA avec la création d'un style, ce qui est très facile :

Tu commences à sélectionner Trois ou cinq cellules éparpillées (pour l'exemple), tu vas dans Format,Style et tu ne coches par exemple que Motifs et police, ensuite tu clic sur modifier, tu retrouves une boîte que tu dois connaître :lol: , tu mets ta police en gras et motifs ombrage en jaune, tu fais OK, tu clic sur la flêche 'nom du style' tu rentres dans la fenêtre Paul16 et tu fais OK.

Ensuite tu valides une des cellules concernées, tu retournes dans format, style, avec la flêche tu désignes Paul16, tu clic modifier, motifs, tu mets en vert, OK et OK.

Toutes les cellules concernées sont passées en vert, en ragerdant toutes les possibilités de la chose, tu verras qu'il y a de quoi faire....

Bonne soirée,

Bfr
 

Emmaude

XLDnaute Nouveau
Re : Re:couleur de fond des cellules

Bonsoir Paul et André

avec cette ligne de code evenementiel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range('zone').Interior.Color = Range('a1').Interior.Color
End Sub

Tu nommes une plage de cellules (contigues ou non) ici je lui ai donné le nom très original de 'zone'
A chaque fois que tu changes la couleur de la cellule A1 les autres font de même. Etait-ce la question ?

@+ GD

Bonjour,

apres des heures de recherches, je trouve LE sujet qui m'interresse, voici ce dont j'ai besoin !!!

Je relance juste le sujet car..... je sais pas comment utilisé ce code !!!! :eek::mad: Quelqu'un peut m'aider ?
 

Kobal

XLDnaute Junior
Re : couleur de fond des cellules

Bonjour Emmaude, le forum,

Pour utiliser ce code, ouvre ton classeur excel, appuie sur alt+f11 (ou outils->macro->visual basic editor)

Là, tu obtiens une grande fenêtre relativement vide. A gauche, tu trouveras une sorte d'arborescence avec des "VBAProject (nom du classeur)". Sélectionne celui qui a le nom de ton classeur, appuie sur le "+" à côté, choisis le feuillet où tu veux que cette macro fonctionne, et double clique dessus. (ou clic droit-> Code)

Ensuite, copie colle le texte écrit par Gerard Dezamis dans la fenêtre qui vient de s'ouvrir:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range('zone').Interior.Color = Range('a1').Interior.Color
End Sub
Modifie 'zone' et 'a1' en fonction de tes besoins (par exemple, "B3:B9", etc.)
Sauvegarde.
Et voila, la macro est prête.
 

mécano41

XLDnaute Accro
Re : couleur de fond des cellules

Bonjour,

Je n'ai réussi à faire fonctionner ce qui a été donné plus haut. Je l'ai modié ainsi et ça va bien :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("CellulesLiées")) Is Nothing Then
    Range("CellulesLiées").Select
    Selection.Interior.Color = Range("A1").Interior.Color
End If
End Sub

A mettre dans le code de la feuille contenant la plage nommée "CellulesLiées" (voir message Kobal)
A noter que dans le code ci-dessus, à la place de A1 ce peut être n'importe quelle cellule.
Si A1 n'est pas coloriée, en cliquant sur l'une des cellules liées, celles-ci perdent leur couleur puis prennent la nouvelle couleur désignée dans la barre d'outils. Si A1 est coloriée, les cellules liées prennent sa couleur le temps d'en désigner une autre.

Inconvénient : en sélectionnant une cellule pour modifier son contenu, on perd la couleur de fond

Cordialement

Attention! je viens de voir un autre gros problème : on ne peut plus sélectionner une seule cellule liée! Désolé!
 
Dernière édition:

Vinçou

XLDnaute Nouveau
Re : couleur de fond des cellules

Bonjour à tous,

Je recherche une fonction permettant de lier la couleur des cellules dans l'un de mes tableaux, mais entre différentes feuilles. Ce tableau contient plusieurs feuilles identiques et j'aimerai que les couleurs que j'applique aux cellules du premier tableau se reportent sur les autres. J'ai testé la formule proposée par Kobal, elle fonctionne très bien sur une feuille mais je n'arrive pas à l'étendre à toutes les feuilles...
Merci d'avance pour votre aide ;)
Cordialement.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : couleur de fond des cellules

Bonjour,


Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  For Each c In Array("champ1", "champ2")
     Range(c).Interior.ColorIndex = Sheets("feuil1").[A1].Interior.ColorIndex
  Next
End Sub

JB
 

Pièces jointes

  • Classeur1.xls
    22.5 KB · Affichages: 239
  • Classeur1.xls
    22.5 KB · Affichages: 263
  • Classeur1.xls
    22.5 KB · Affichages: 269

ant75

XLDnaute Junior
Re : couleur de fond des cellules

Je me posais la même question, avec une cellule A1 ayant un fond (motif) vert, j'aurai aimé dans la cellule B1 écrire =A1 et donc également avoir un fond vert en B1.
J'ai le sentiment que le fichier classeur1.xls de JB juste au-dessus pourrait faire ça, vu qu'il le fait dans les onglets 2 et 3, mais quelqu'un peut il me dire ce que je dois modifier dans ce fichier pour que la cellule B1 de l'onglet 1 ait la même couleur que la cellule A1 de l'onglet 1 svp ?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : couleur de fond des cellules

Bonsoir Ant15,

La couleur de B1 est modifiée dès que l'on sélectionne une autre cellule.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1].Interior.ColorIndex = [A1].Interior.ColorIndex
End Sub

JB
 

Discussions similaires