Graphique jalons projets

chuss

XLDnaute Nouveau
Bonjour,

Je souhaite créer un graphique me permettant de visualiser mois par mois les différents jalons de mes projets.
Plus précisément en abcisse les mois en format (mois, année) ; en ordonné le nombre de jalons et enfin dans les étiquettes de donnée je souhaite afficher le nom du jalons avec le projet. (ex: jalons5 /projet 3)

Je ne sais pas si c'est faisable via un graphique croisé dynamique ou s'il faut passer par une base de donnée...

En pj mon tableau de données

Merci d'avance pour votre aide
 

Pièces jointes

  • indicateurs projets.xlsx
    9.7 KB · Affichages: 132

chuss

XLDnaute Nouveau
Re : Graphique jalons projets

Merci Pierre,
Mais je cherche quelque chose de plus simple à gérer. Cela doit me permettre de visuellement de connaitre la charge de travaille chaque mois.
Je pensais plutot sous forme d'un histogramme.Surtout que j'ai déjà les planning détaillé des différents projets sous forme de gantt...
 

Efgé

XLDnaute Barbatruc
Re : Graphique jalons projets

Re
Une proposition quand même
Il faut créer une véritable base de données en utilisant l'outil Tableau de feuille.
Dans ce tableau, il y a une formule qui regroupe le nom du projet et le nom du jalon.
On utilise ce tableau pour créer un TCD qui sert de source à un graphique :
362856d1461850536-graphique-jalons-projets-sans-titre.png

On lance une macro (on peux le faire à la main, mais c'est long, très long...)
VB:
Sub MiseEnFormeGraph()
Dim X As Object, Chrt As Chart, Pt As Point
Set Chrt = ActiveSheet.ChartObjects(1).Chart
Application.ScreenUpdating = False
For Each X In Chrt.SeriesCollection
    X.ApplyDataLabels
    X.DataLabels.ShowSeriesName = True
    X.DataLabels.ShowValue = False
    For Each Pt In X.Points
        Pt.Interior.ColorIndex = xlNone
    Next Pt
Next
Application.ScreenUpdating = True
End Sub
Pour, au final, avoir ça:
362857d1461850536-graphique-jalons-projets-sans-titre_2.png

Cordialement
 

Pièces jointes

  • projet_MisEnForme.xlsm
    55.9 KB · Affichages: 99
  • Sans titre.png
    Sans titre.png
    17.8 KB · Affichages: 102
  • Sans titre_2.png
    Sans titre_2.png
    12.4 KB · Affichages: 106
  • Sans titre.png
    Sans titre.png
    17.8 KB · Affichages: 92
Dernière édition:

chuss

XLDnaute Nouveau
Re : Graphique jalons projets

Merci Efgé!
C'est exactement ce que je cherche à faire.

J'aurais toujours ces 8 jalons mais le nombre de projet peu varier en plus ou en moins.
Comment fais-tu pour actualiser ton Tableau de feuille?
 

Efgé

XLDnaute Barbatruc
Re : Graphique jalons projets

Re

Le tableau ne s'actualise pas.
Il faut saisir les données dans les trois premières colonnes. La dernière, qui porte la formule suivra toute seule au fur et a mesure des saisies.

Cordialeent
 

Efgé

XLDnaute Barbatruc
Re : Graphique jalons projets

Bonsoir chuss, le fil, le forum

...As tu une idée ?...

Oui :D

Il faut créer une liste avec le nom des jalons (EXACTEMENT les mêmes noms)
Tu remplis les cellules des noms avec les couleurs que tu souhaites (avec le pot de peinture pour ne pas prendre des couleurs trop "exotiques")
J'ai nommé cette liste "Jalons_Couleur" (quel débordement d'imagination)

Ensuite tu lances la macro.
J'ai ajouté un espace nul entre les séries pour donner l'impression que ce sont les "cases" qui sont colorées.
J'ai également ajouté la police en gras pour que ce soit plus visible (je trouve que c'est plus mieux, mais tu peux désactiver la ligne de code)

Cordialement
 

Pièces jointes

  • projet_MisEnForme(2).xlsm
    57.8 KB · Affichages: 92

Efgé

XLDnaute Barbatruc
Re : Graphique jalons projets

Bonjour

En fait, inutile de boucler sur les points des séries:
VB:
Sub MiseEnFormeGraph_2()
Dim X As Series, Chrt As Chart
Dim D As Object, Cel As Range, Txt$


Set D = CreateObject("scripting.dictionary")
Set Chrt = ActiveSheet.ChartObjects(1).Chart


For Each Cel In Range("Jalons_Couleur")
    D(Cel.Value) = Cel.Interior.ColorIndex
Next Cel


'Pas d'espace entre les séries
Chrt.ChartGroups(1).GapWidth = 0
'Blocage de l'axe à un pas de 1
Chrt.Axes(xlValue).MajorUnit = 1


For Each X In Chrt.SeriesCollection
    With X
        .ApplyDataLabels
        With .DataLabels
            .ShowSeriesName = True
            .ShowValue = False
            .Font.Bold = True
        End With
        .Border.ColorIndex = 1
        Txt = Split(.Name, Chr(10))(1)
        .Interior.ColorIndex = D(Txt)
    End With
Next X


End Sub

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
314 242
Messages
2 107 668
Membres
109 892
dernier inscrit
stepanek