Problème d'attribution de code couleur
bejyves
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Gyrus Messages postés 3360 Statut Membre -
Gyrus Messages postés 3360 Statut Membre -
Bonjour à tous!
Je suis tout nouveau sur le forum et j'espère obtenir de l'aide sur un problème épineux pour moi. J'ai crée un classeur Excel qui donne une vue d'ensemble de l'agenda d'une équipe. Dans la feuille 1 on retrouve l'agenda en question constitué en lignes des évènements et en colonne du calendrier. Dans la feuille 2 j'ai recensé les membres de l'équipe de la manière suivante: dans la colonne A on a la liste des membres, dans la colonne B leurs initiaux, et la colonne C la couleur que chaque membre peut s'attribuer à loisir. Maintenant que le décor est planté voici mon problème : lorsqu'un événement est attribué à un membre de l'équipe, il doit placé ses initiaux dans les cellules correspondante au niveau de la Feuille 1 pour les dates concernées. Une fois que c'est fait, comment faire pour que les cellules portant lesdits initiaux prennent automatiquement la même couleur de fond que celle attribuée au membre de l'équipe au niveau de la Feuille 2?Exemple : En Feuille 2, j'ai attribué à Paul la couleur "bleu" dans la feuille 2 et son initial c'est "P". Comment faire pour qu'a chaque que je rentrerai l'initial "P" dans la Feuille 1, la cellule se colore automatiquement en "bleu"( comme sur l'image ci-dessous). Je vous remercie d'avance pour vos contributions.

Je suis tout nouveau sur le forum et j'espère obtenir de l'aide sur un problème épineux pour moi. J'ai crée un classeur Excel qui donne une vue d'ensemble de l'agenda d'une équipe. Dans la feuille 1 on retrouve l'agenda en question constitué en lignes des évènements et en colonne du calendrier. Dans la feuille 2 j'ai recensé les membres de l'équipe de la manière suivante: dans la colonne A on a la liste des membres, dans la colonne B leurs initiaux, et la colonne C la couleur que chaque membre peut s'attribuer à loisir. Maintenant que le décor est planté voici mon problème : lorsqu'un événement est attribué à un membre de l'équipe, il doit placé ses initiaux dans les cellules correspondante au niveau de la Feuille 1 pour les dates concernées. Une fois que c'est fait, comment faire pour que les cellules portant lesdits initiaux prennent automatiquement la même couleur de fond que celle attribuée au membre de l'équipe au niveau de la Feuille 2?Exemple : En Feuille 2, j'ai attribué à Paul la couleur "bleu" dans la feuille 2 et son initial c'est "P". Comment faire pour qu'a chaque que je rentrerai l'initial "P" dans la Feuille 1, la cellule se colore automatiquement en "bleu"( comme sur l'image ci-dessous). Je vous remercie d'avance pour vos contributions.

1 réponse
-
Bonjour,
Voici une proposition avec une procédure évènementielle.
https://www.cjoint.com/c/FJudZB02Sx8
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("C3:L3")) Is Nothing Then
If Target <> "" Then
With Worksheets("BD")
Set C = .Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row).Find(Target, , xlValues, xlWhole)
If Not C Is Nothing Then
Target.Interior.Color = C.Offset(, 1).Interior.Color
End If
End With
Else
Target.Interior.Color = xlNone
End If
End If
End Sub
A+-
-
-
Merci bien Cyrus, mais il y a encore un problème. Le processus se fait en continue du coup la feuille plante.Pourrais-tu faire en sorte que le processus ne s'effectue que s'il détecte un changement au niveau de la colonne "code couleur"? Ca règlerait peut-être le problème.
- Il n'existe pas d'évènement permettant de détecter la modification du remplissage d'une cellule. C'est pour cela que j'ai utilisé l'évènement Worksheet.Activate de la feuille "Agenda".
Ainsi, lorsque tu modifies la couleur dans la feuille "BD", la couleur se met automatiquement à jour dans la feuille Agenda, au retour dans cette feuille.
Par contre, je ne comprends pas pourquoi le processus se fait en continu. Il y a sûrement une particularité que tu ne m'as pas indiquée car cela ne se produit pas dans le fichier joint.
A+
-