[RESOLU] Etiquettes de données : choisir les valeurs à partir d'une autre source

  • Initiateur de la discussion Initiateur de la discussion sokratt
  • 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 !

sokratt

XLDnaute Nouveau
Bonjour à tous,

Pour mon travail, j'ai créé récemment un graphique en courbes montrant des montants de chiffres d'affaire de plusieurs unités commerciales mois après mois (une courbe par magasin).
Lorsque j'affiche les étiquettes de données, je n'ai que 3 possibilités dont notamment celle d'afficher la valeur.

Or, j'aurais surtout besoin d'afficher la progression par rapport à l'année dernière pour chaque mois et pour chaque magasin.
Je ne sais pas si j'ai été très clair... !

Merci d'avance pour votre aide.
 
Dernière édition:
Re : Etiquettes de données : choisir les valeurs à partir d'une autre source

Bonsoir sokratt,

Une piste avec un peu de code VBA. Les valeurs non disponibles (août 2012 à décembre 2012) sont remplacées par la valeur =na().
Les formules d'évolution d'une année à l'autre retourne #N/A si le calcul de l'évolution n'est pas possible.

VB:
Sub Etiqueter()
Dim i As Long
With Sheets("Feuil1").ChartObjects("Graphique 2")
  For i = 1 To .Chart.SeriesCollection(1).Points.Count
    .Chart.SeriesCollection(1).Points(i).ApplyDataLabels
      If IsNumeric(Sheets("Feuil1").Range("D2").Offset(i).Value) Then
        .Chart.SeriesCollection(1).Points(i).DataLabel.Text = _
            Format(Sheets("Feuil1").Range("D2").Offset(i).Value, "0%")
      Else
        .Chart.SeriesCollection(1).Points(i).DataLabel.Text = ""
      End If
  Next i
  
  For i = 1 To .Chart.SeriesCollection(2).Points.Count
    .Chart.SeriesCollection(2).Points(i).ApplyDataLabels
      If IsNumeric(Sheets("Feuil1").Range("E2").Offset(i).Value) Then
        .Chart.SeriesCollection(2).Points(i).DataLabel.Text = _
            Format(Sheets("Feuil1").Range("E2").Offset(i).Value, "0%")
      Else
        .Chart.SeriesCollection(2).Points(i).DataLabel.Text = ""
      End If
  Next i
  End With
Range("F1").Select
End Sub

Sub OterEtiq()
Dim i As Long
With Sheets("Feuil1").ChartObjects("Graphique 2")
  For i = 1 To .Chart.SeriesCollection(1).Points.Count
    .Chart.SeriesCollection(1).Points(i).ApplyDataLabels
    .Chart.SeriesCollection(1).Points(i).DataLabel.Text = ""
  Next i
  
  For i = 1 To .Chart.SeriesCollection(2).Points.Count
    .Chart.SeriesCollection(2).Points(i).ApplyDataLabels
    .Chart.SeriesCollection(2).Points(i).DataLabel.Text = ""
  Next i
End With

NB: un fichier joint par vos soins aurait été apprécié.
 

Pièces jointes

Dernière édition:
Re : Etiquettes de données : choisir les valeurs à partir d'une autre source

Bonjour mapomme,

Voilà, c'est exactement ce que je cherche à faire.
Je vous ai mis un fichier ci-joint qui possède la structure que j'utilise actuellement.
Je ne connais pas VBA mais je pense que votre code va s'en trouver modifier (effectivement, j'aurais du vous le proposer dès le début).

Merci d'avance pour votre aide.
 

Pièces jointes

- 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
Retour