Dans un graph, afficher l'étiquette de la dernière valeur renseignée de la série

  • Initiateur de la discussion Initiateur de la discussion cart46
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cart46

XLDnaute Nouveau
Bonjour,

ma problématique : dans un graph, comment afficher l'étiquette de la dernière valeur renseignée d'une série?
exemple : j'ai des valeurs qui sont rentrées tous les mois. Ma série de données intègre les 12 cellules, mais au moi d'avril, seulement quatre cellules sont renseignées...

janvier février mars avril mai juin juillet août septembre octobre novembre décembre
prévi 2 5 8 10 13 17 19 20 25 30 35 38
réali 0 4 7 10


la macro

Sub UnDernierPoint()
With Feuil1.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels AutoText:=True, _
LegendKey:=False, _
ShowSeriesName:=False, _
ShowCategoryName:=False, _
ShowValue:=False, _
ShowPercentage:=False, _
ShowBubbleSize:=False
.Points(.Points.Count).ApplyDataLabels ShowValue:=True
End With
End Sub

... fonctionne très bien pour les séries de données intégralement renseignées :
(.Points.Count) renvoit 12 systématiquement, la macro tombe en erreur si je n'ai pas de valeur en décembre.
pour les prévi ça marche, pas pour le réali

Merci par avance pour votre aide!
 

Pièces jointes

Dernière édition:
Re : Dans un graph, afficher l'étiquette de la dernière valeur renseignée de la série

Re,

Merci, c'est plus pratique pour trouver une solution. voici une proposition qui applique la fonction de feuille de calcul (NB) (en vba: Application.Count) sur le tableau des valeurs de la série.

fonctionne sur l'exemple

Code:
Sub UnDernierPoint2()
    Dim nbPoints As Variant
    With Feuil1.ChartObjects(1).Chart.SeriesCollection(2)
        .ApplyDataLabels AutoText:=True, _
                         LegendKey:=False, _
                         ShowSeriesName:=False, _
                         ShowCategoryName:=False, _
                         ShowValue:=False, _
                         ShowPercentage:=False, _
                         ShowBubbleSize:=False
        nbPoints = Application.Count(.Values)
        .Points(nbPoints).ApplyDataLabels ShowValue:=True
    End With
End Sub

A+
 
Dernière modification par un modérateur:
Re : Dans un graph, afficher l'étiquette de la dernière valeur renseignée de la série

Merci Hasco pour ta rapidité et efficacité, ça marche parfaitement.

J'ai essayé d'automatiser cette macro, pour qu'elle s'applique à tous les graphs de la feuille : ok, j'y arrive
code :

Sub UnDernierPoint2()
Dim nbPoints As Variant
Dim Mygraph As ChartObject

For Each Mygraph In Feuil1.ChartObjects
With Mygraph.Chart.SeriesCollection(2)
.ApplyDataLabels AutoText:=True, _
LegendKey:=False, _
ShowSeriesName:=False, _
ShowCategoryName:=False, _
ShowValue:=False, _
ShowPercentage:=False, _
ShowBubbleSize:=False
nbPoints = Application.Count(.Values)
.Points(nbPoints).ApplyDataLabels ShowValue:=True
End With
Next Mygraph
End Sub

... par contre j'ai essayé d'automatiser pour que ça s'applique à toutes les séries présentes dans chacun des graphs, et là je bloque
j'ai un essai de macro UnDernierPoint2bis()dans le classeur en p.j.
 

Pièces jointes

Re : Dans un graph, afficher l'étiquette de la dernière valeur renseignée de la série

Bonjour,

Il serait bien que tu dises ce genre de choses dès ta première demande.
Code:
Sub UnDernierPoint2()
    Dim nbPoints As Variant
    Dim Mygraph As ChartObject
    Dim xSeries As Series
    For Each Mygraph In Feuil1.ChartObjects
        For Each xSeries In Mygraph.Chart.SeriesCollection
                With xSeries
                    .ApplyDataLabels AutoText:=True, _
                                     LegendKey:=False, _
                                     ShowSeriesName:=False, _
                                     ShowCategoryName:=False, _
                                     ShowValue:=False, _
                                     ShowPercentage:=False, _
                                     ShowBubbleSize:=False
                    nbPoints = Application.Count(.Values)
                    .Points(nbPoints).ApplyDataLabels ShowValue:=True
                End With
        Next
    Next Mygraph
    
End Sub

A+
 
Re : Dans un graph, afficher l'étiquette de la dernière valeur renseignée de la série

Bonjour et merci ça marche.

je n'avais pas demandé l'objectif final, car je pensais y arriver, mais j'ai présumé de mes compétences de développeur ! 🙂

A+ et encore merci!!!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour