Excel graphique

Résolu/Fermé
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 - 11 août 2015 à 16:42
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 - 11 août 2015 à 20:50
Bonjour,

J'ai cherché sur les forums, mais je n'ai pas trouvé ma réponse. Je fais donc encore appel à vos lumières.

Quand je fais un graphique à barre avec Excel, est-ce que je peux mettre une couleur conditionnel à une donnée (nom). J'ai trouvé comment mettre une couleur conditionnel à une valeur (négatif ou moins de 10, etc.), mais pas à une donnée comme un nom.

Tableau : J'ai un tableau avec des noms d'employés où je mets des temps pour chaque mois. J'ai attribué une couleur pour chaque employé (ex. Pierre en jaune, Jean en vert, Jacques en bleu, Joe en gris, Guy en rouge, etc.).

Graphique : J'ai fait un graphique à barre et j'ai modifié les couleurs des barres pour attribué la couleur de chaque employé.

Problème : Quand je mets des temps à tous les employés, il n'y a pas de problème. Cependant si un mois je n'ai pas d'heure pour un employé, les couleurs ne suivent pas (ex. Pierre est en jaune, Jean est en vert, mais si je n'ai pas d'heures pour Jacques et que j'en ai pour Joe, Joe est en bleu, etc.). Je comprends que les couleurs suivent l'ordre que j'ai mis, mais moi je voudrais que ce soit la couleur attribué à l'employé.

Est-ce possible? Y a-t-il possibilité de couleur conditionnel dans un graphique?

Merci de vos lumières...
A voir également:

6 réponses

via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
11 août 2015 à 17:25
Bonjour

Un exemple :
http://www.cjoint.com/c/EHlpyzqn2dd

Le bouton lance la macro qui recolorie les séries selon les couleurs attribuées aux cellules des noms

Cdlmnt
Via
0
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 21
11 août 2015 à 18:00
Super, c'est ce que je veux.

Cependant, comme je ne suis pas top en macro, si je veux adapter cette macro dans mon fichier, pouvez-vous m'indiquer les données à changer. Par exemple, dans votre fichier, les noms sont de B3 à B7, mais moi mes noms sont sur une ligne (D5 à U5). SVP m'indiquer les infos à modifier dans la macro :

Sub couleurs()
Dim MesSeries As Series
ActiveSheet.ChartObjects("Graphique 1").Activate
With ActiveChart
For Each MesSeries In .SeriesCollection
ligne = Columns(2).Find(MesSeries.Name, , , , xlByColumns, xlPrevious).Row
couleur = Range("B" & ligne).Interior.ColorIndex
MesSeries.Interior.ColorIndex = couleur
Next
End With
End Sub

Merci beaucoup, beaucoup...
0
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
11 août 2015 à 18:01
Re,

Postes un exemple de ton fichier sur cjoint.com et reviens ici indiquer le lien fourni, je verrai pour adapter

Cdlmnt
Via

0
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 21
11 août 2015 à 19:34
Malheureusement, c'est un fichier confidentiel, mais voici un exemple qui est semblable.

http://www.cjoint.com/c/EHlrAGvwRRC

Le tableau est à l'horizontal, parce que dans mon tableau original, il y a d'autres lignes (qui n'entre pas dans le graphique).

En passant, comme je ne veux pas les noms à zéro, j'ai fait un filtre (dans mon fichier original j'ai une macro pour le filtre). Connaissez-vous une autre façon de le faire, directement dans le graphique?

Merci de votre patience :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
11 août 2015 à 20:03
Re

http://www.cjoint.com/c/EHlr6vsobhd

Il faut dans le graphique faire Selectionner les données et inverser les données, les noms doivent être en Série (colonne de gauche)

Ensuite dans la macro
ActiveSheet.ChartObjects("Graphique 3").Activate
Graphique 3 est le nom du graphique tel qu'il apparait dans la zone Nom de la feuille
ligne = Columns(1).Find(MesSeries.Name, , , , xlByColumns, xlPrevious).Row
le 1 est la colonne où se trouve les noms

couleur = Range("A" & ligne).Interior.ColorIndex
A est la colonne où se trouve les noms

A adapter si différent dans le fichier original

Pour le filtrage non je ne sais pas faire dans le graphique mais c'est surement possible sans doute par macro, question à reposer sur le forum

Cdlmny
Via
0
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 21
11 août 2015 à 20:50
Wow! Merci vraiment beaucoup, je vais essayer tout ça. Ça va assurément marcher.

Merci de votre collaboration.
0