Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Changement de couleur de plusieurs cellule en fonction des données d'une cellule

cethan

XLDnaute Nouveau
Bonjour,

Je pratique excel depuis un certain temps à un niveau basic, et j'aimerai aujourd'hui améliorer les tableaux que j'utilise. Jusqu'à présent j'ai toujours trouvé les réponses à mes questions sur ce forum, mais aujourd'hui je reste face à un problème:

J'utilise un tableau de planning dans le lequel, en face de chaque personne, il y a 3 colonnes par jour. la première pour indiquer l'heure de début, la deuxième pour indiquer l'heure de fin, et surtout la troisième pour préciser si cette personne a été absente.

Le type d'absence peut être différente (maladie, accident, congés payés...) , et il y a une liste déroulante des différentes possibilité d'absence. Cette liste est faite grâce à la validation des données.

J'aimerai qu'en fonction du choix d'absence que l'on a sélectionné, les 3 cellules correspondantes (heure de début, heure de fin, et motif d'absence) prenne une couleur. Par exemple vert pour la maladie, bleu pour l'accident de travail, jaune pour les congés payés, rouge pour absence injustifié.... Et que si il n'y a pas d'absence , tout reste sans couleur.

Après avoir essayé plusieurs méthode, soit je n'y arrive pas, soit le résultat ne correspond pas à ce que j'aimerai.

Pourriez-vous m'aider? merci par avance du temps que vous pourrez m'accorder
 

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Un test en attendant plus de précisions
Le code est à modifier en fonction de tes plages de valeurs. Les cellules de B19 à B22 représentent la couleur de chaque type d'absence; elles changent en fonction de leur valeur 2 équivaut à blanc;3 équivaut à rouge etc...
En espérant t'avoir aidé!
 

Pièces jointes

  • Test4.xls
    25 KB · Affichages: 210
  • Test4.xls
    25 KB · Affichages: 222
  • Test4.xls
    25 KB · Affichages: 215

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Merci beaucoup, je n'attendais pas une réponse aussi rapide !
Alors ça correspond quasiment à ce que je voudrais faire, cependant la couleur correspondante au type d'absence sera indiquée en bas du tableau de planning en légende, directement en fond de la case correspondant au type d'absence. Comment faudrait t 'il faire? Je joins un fichier d'exemple, désolé de ne pas y avoir pensé avant, c'est que mes explications n’étaient pas très claires. J'ai is en feuille 2, le tableau très simplifié de mes planning mais dans l'ordre ou il sera au final.
 

Pièces jointes

  • test planning en feuille 2.xlsm
    18.6 KB · Affichages: 142

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Re-Bonsoir,
N'ayant pas accès à excel je pourrai te répondre demain si personne d'autre ne se manifeste !
Cependant, au vue de tes explications, il te suffit, je pense, de modifier la deuxième plage de données de la fonction target pour les faire correspondre au bas du tableau de planning.
Si tu n'y arrives pas, je regarderais ton fichier exemple demain de toutes façons donc ne t'en fais pas ! ^^
Bonne soirée !
 

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Bonjour,
Je suis repartis de ton exemple, en modifiant quelques données (Par exemple la légende en mettant juste les abréviations correpondants à tes listes de validation, ce qui me permet de simplifier énormément le code).
J'ai mis des commentaires dans le code pour que tu puisses l'adapter à ton vrai fichier.
Si tu as un autre soucis n'hésite pas !
 

Pièces jointes

  • Test4(1).xls
    32 KB · Affichages: 139
  • Test4(1).xls
    32 KB · Affichages: 135
  • Test4(1).xls
    32 KB · Affichages: 117

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Merci VDAVID,

Malheureusement, dans la légende je ne peux pas laisser uniquement les abréviations, il est affiché et visible de tout le monde et doit donc est compris par tout le monde, raison pour laquelle je met une légende. En faite le vrai tableau permet de faire le planning de 40 personnes, c'est pour cela que j'utilise des abréviations, pour gagner la place, mais je suis quant même tenu de laisser la signification des ces abréviations. Et tel qu'est conçu mon tableau, l'abréviation et sa signification sont dans la même case.
 

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Re,
Excuses-moi, en fait le code n'est pas compliqué même en gardant ta mise en forme !
Un autre test, dis moi si ça te va !
 

Pièces jointes

  • Test4(1).xls
    33.5 KB · Affichages: 126
  • Test4(1).xls
    33.5 KB · Affichages: 157
  • Test4(1).xls
    33.5 KB · Affichages: 154

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Merci, ça a l'air de fonctionner nickel, juste un bug: quant je veux tout effacer en faisant une sélection de toutes les cases et appuyant sur la toucher "del" afin de recommencer un nouveau planning pour la semaine suivante, une fenêtre s'ouvre :
Erreur d’exécution : '13'
Incompatibilité de type
Est-ce qu'on peux résoudre ce problème ou est-ce qu'il faudra que je supprime chaque entrée individuellement?
 

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Re,
Remplace le code existant par :


Pour supprimer sans toucher à la présentation (Couleurs des cellules)

Ou:
Pour enlever toutes les mises en formes de couleurs
 

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Je pense qu'on y est presque, je ne vais t’embêter qu'une dernière fois.

Pour être précis, ce n'est pas la mise en forme de toutes les cases que je voudrais supprimer, mais juste celle des cases que j'ai sélectionné pour supprimer leur données.

Par exemple, si une personne a le même planning la semaine suivante, admettons qu'il ait 2 semaines de congés, dans ce cas, je ne sélectionnerai que le reste du tableau pour supprimer les données, et pour cette personne les couleurs devront rester.

Je pense que le changement est simple et qu'au lieu de mettre
Range("B4:T6").Interior.ColorIndex = 0
Il faudrait mettre quelque chose qui utilise seulement la sélection en cours pour en changer la couleur.

Je suis désolé je ne pense pas avoir le langage adapté, j'essaye d'apprendre à comprendre déjà.
 

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

C'est bon, j'ai trouver, j'ai tout simplement remplacé
Range("B4:T6").Interior.ColorIndex = 0
par :
Selection.Interior.ColorIndex = 0

Je pense que c'était la bonne méthode, si je me trompe n'hésite pas à le me dire.

En tout cas tu as été super, ta compréhension et ta rapidité, merci pour tout !!
 

VDAVID

XLDnaute Impliqué
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

Re,
Pas de soucis !

Un autre test en espérant que cela te conviendras parfaitement !

 

cethan

XLDnaute Nouveau
Re : Changement de couleur de plusieurs cellule en fonction des données d'une cellule

C'est super ça marche, je pense l'avoir tester dans toutes les possibilités et pas de défaut !!

Mille merci a toi !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…