Apparaitre/disparaitre étiquette

Mcmanus

XLDnaute Nouveau
Bonjour à tous
J'ai mes résultats sous forme d'un histogramme et je voudrais en sélectionnant une barre de mon graphique, qu'il apparaisse des données supplémentaires sous la forme d'une étiquette. De plus lorsque je sélectionne une autre barre la précédente doit disparaitre
Je ne vois pas trop comment faire.
Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Apparaitre/disparaitre étiquette

Bonjour Mcmanus, bienvenue sur XLD,

Cela doit pouvoir se faire par macro, c'est un brin casse-pieds.

Il faudrait envoyer le fichier en montrant clairement les données à afficher/ne pas afficher.

A+
 
Dernière édition:

Mcmanus

XLDnaute Nouveau
Re : Apparaitre/disparaitre étiquette

Merci de cet accueil
Voila le fichier qui correspond
Dans le graphique "Récapitulatif huilecire", je voudrais que pour chaque barre "NTS...", en cliquant sur celle-ci il s'affiche les données de la colonne "B".
Merci
A+
 

Pièces jointes

  • Récapitulatif-2.xls
    45 KB · Affichages: 53
  • Récapitulatif-2.xls
    45 KB · Affichages: 59
  • Récapitulatif-2.xls
    45 KB · Affichages: 58

job75

XLDnaute Barbatruc
Re : Apparaitre/disparaitre étiquette

Re,

Une solution finalement très simple, il y a peut-être mieux :

1) Cliquer sur la série du graphique pour la sélectionner

2) Cliquer sur une barre de l'histogramme pour la sélectionner, cela déclanche cette petite macro :

Code:
Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
If ElementID <> 3 Or Arg2 = -1 Then Exit Sub
MsgBox Sheets("Feuil1").Range("B" & Arg2 + 1)
End Sub

C'est donc une MsgBox qui s'affiche et pas une étiquette, voyez si cela vous convient.

A+
 

Pièces jointes

  • Récapitulatif-2.xls
    45 KB · Affichages: 92
  • Récapitulatif-2.xls
    45 KB · Affichages: 94
  • Récapitulatif-2.xls
    45 KB · Affichages: 93
Dernière édition:

job75

XLDnaute Barbatruc
Re : Apparaitre/disparaitre étiquette

Re,

Une autre solution utilisant un UserForm et un Label.

Sélectionner une barre comme précédemment.

Pendant que l'UserForm est affiché, on peut sélectionner d'autres barres, le Label se met à jour.

Bien sûr cliquer sur la croix pour fermer l'UserForm, Edit : ou bien cliquer en dehors des barres.

A+
 

Pièces jointes

  • Récapitulatif-3.zip
    15.9 KB · Affichages: 35
Dernière édition:

job75

XLDnaute Barbatruc
Re : Apparaitre/disparaitre étiquette

Re,

Edit : j'ai complétement revu ce post et la macro.

Voici une 3ème solution.

Cette fois pour voir apparaître l'UserForm, il suffit de déplacer le pointeur de la souris sur une barre de l'histogramme. Aucun clic n'est nécessaire.

La macro :

Code:
Private Sub Chart_MouseMove(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
On Error Resume Next
ActiveChart.GetChartElement x, y, ElementID, Arg1, Arg2 'élément graphique sous le pointeur de la souris
If ElementID <> 3 Then Unload UserForm1: Exit Sub 'si l'élément n'est pas la série
With UserForm1
.Show 0
.Label1 = Sheets("Feuil1").Range("B" & Arg2 + 1)
End With
End Sub

A+
 

Pièces jointes

  • Récapitulatif-4.zip
    15.9 KB · Affichages: 32
Dernière édition:

job75

XLDnaute Barbatruc
Re : Apparaitre/disparaitre étiquette

Bonjour Mcmanus, le forum,

Encore une solution, et en fait j'aurais dû commencer par là.

En effet elle utilise comme vous le demandiez les étiquettes de données (DataLabels).

Il faut d'abord sélectionner la série puis une barre de l'histogramme.

La macro :

Code:
Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
Application.ScreenUpdating = False
With ActiveChart.SeriesCollection(1)
  .ApplyDataLabels Type:=xlDataLabelsShowNone 'masque toutes les étiquettes
  If ElementID <> 3 Or Arg2 = -1 Then Exit Sub
  With .Points(Arg2)
    .HasDataLabel = True 'affiche l'étiquette du point sélectionné
    With .DataLabel
      .Text = Sheets("Feuil1").Range("B" & Arg2 + 1)
      .Font.ColorIndex = 2 'blanc
      .Font.FontStyle = "Gras"
      .Interior.ColorIndex = 11 'bleu foncé
      .Top = .Top - 8 'décale vers le haut
    End With
  End With
End With
End Sub

A+
 

Pièces jointes

  • Récapitulatif-5.zip
    15.8 KB · Affichages: 35
Dernière édition:

Membres actuellement en ligne

Statistiques des forums

Discussions
312 963
Messages
2 093 996
Membres
105 906
dernier inscrit
aifa