Pouvez-vous demander à Excel de changer la couleur d'une autre cellule lorsque vous cliquez sur cette cellule?

2

J'ai essayé Googeling mais je n'ai pas trouvé de réponse ... très frustré.

J'essaie de faire cela dans Excel:

  1. Sélectionnez les cellules B1 - B5 (ou seulement B1)
  2. La cellule de sélection A1 (de couleur jaune)
  3. Les cellules B1 - B5 (ou seulement B1 si seulement B1 est sélectionné) deviennent également jaunes.

Ceci est pour un tableur de feuilles (vacances) et il y a différentes couleurs pour différents buts de congé (par exemple, maladie, vacances, demi-journée, etc.). Chaque fois que quelqu'un met en surbrillance les cellules du calendrier de la feuille de calcul, il lui suffit de cliquer sur la couleur correspondante pour colorer les cellules sélectionnées. J'essaie de reproduire ce même comportement.

Cela a été fait par quelqu'un pour la feuille Excel de notre bureau mais je ne peux pas contacter la personne qui l'a créée. J'essaie de dupliquer cette fonction dans une nouvelle feuille Excel.

Comment fait-on ça? Macro? Script VB?

FrustratedExcelUser
la source
Y a-t-il une raison pour laquelle vous n'utilisez pas l'outil Couleur de remplissage sur le ruban pour rendre les cellules jaunes?
Sir Adelaide
Que diriez-vous de l' Format painteroption? Est-ce que cela fonctionnera pour vous?
Prasanna
Je suppose que ce n’est possible qu’avec la macro. Ne semble pas très pratique: chaque clic changera la couleur de la ou des cellules?
Merzavets
Répondant à votre question, vous devriez regarder la barre de formule pour déterminer s'il existe une formule ou quelque chose de ce genre. De plus, vous devez appuyer sur Alt + F11 et voir s’il existe des macros attachées qui fonctionnent comme un gestionnaire de clic de souris.
Merzavets
Oui, je peux utiliser l'outil Couleur de remplissage, mais il s'agit d'un tableur de feuilles (vacances) et il existe différentes couleurs pour différentes raisons (par exemple, maladie, vacances, demi-journée, etc.). Chaque fois que quelqu'un met en surbrillance les cellules du calendrier de la feuille de calcul, il lui suffit de cliquer sur la couleur correspondante pour colorer les cellules sélectionnées. J'essaie de reproduire ce même comportement.
FrustratedExcelUser

Réponses:

0

Vous pouvez le faire uniquement via VBA. Voici du code que vous pouvez déposer dans l'objet Feuille.

Private lastRange As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = Range("A1").Address Then
        If Not lastRange Is Nothing Then
            lastRange.Interior.Color = Range("A1").Interior.Color
        End If
    Else
       Set lastRange = Target
    End If
End Sub

L' lastRangeobjet est enregistré de sélection en sélection. C’est la seule façon pour que VBA se souvienne de la plage que nous voulons mettre en évidence. Chaque fois que vous modifiez une sélection, elle est définie sur lastRange sauf si c'est le A1cas. Dans ce cas, la sélection précédente A1est colorée de la même manière que sa couleur .


Sur la base de vos commentaires, vos besoins sont toutefois un peu plus vastes. Puisque vous voulez une plage de cellules de différentes couleurs, c'est probablement le code que vous voulez:

Private lastRange As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count = 1 Then
        If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
            If Not lastRange Is Nothing Then
                lastRange.Interior.Color = Target.Interior.Color
                Exit Sub
            End If
        End If
    End If
    Set lastRange = Target
End Sub

Maintenant, il y a toute une gamme de cellules A1:A5qui peuvent être toutes de couleurs différentes. Si vous sélectionnez une seule cellule dans cette plage, votre sélection précédente sera de la même couleur que celle de la cellule actuelle. Vous pouvez ajuster la A1:A5plage pour être tout ce dont vous avez besoin.


Cela a une particularité que je connais: si vous sélectionnez une plage, puis une forme A1, la plage que vous avez sélectionnée auparavant est toujours enregistrée lastRange. C'est probablement OK mais je ne connais pas votre cas d'utilisation.

Rôti d'ingénieur
la source
C'est ça! C'est le parfait. Mes excuses pour la réponse tardive. Merci beaucoup!
FrustratedExcelUser
Heureux que cela a fonctionné. Cliquez sur la coche en regard de ma réponse pour la marquer comme acceptée et fermez la question.
Ingénieur Toast
0

Ouvrez votre fichier Excel et dans l' onglet ACCUEIL, accédez à Formatage conditionnel, puis cliquez sur Gérer les règles. Vous devriez pouvoir voir une règle liée aux cellules mentionnées dans votre question.

entrez la description de l'image ici

Consultez le lien Microsoft ci-dessous pour plus d'informations:

Comment utiliser la mise en forme conditionnelle

Scorpion99
la source
Non ce n'est pas ce que je cherche. Je cherche quelque chose qui permette de cliquer sur une cellule et qui change la couleur d'une autre cellule précédemment sélectionnée.
FrustratedExcelUser