Martin a une feuille de calcul contenant 50 lignes de données, chaque ligne décrivant un seul objet. La colonne A contient le nom de l’objet, la colonne B contient sa coordonnée X et la colonne C contient sa coordonnée Y. Lorsqu’il crée un nuage de points X-Y (colonne B contre colonne C), le résultat, comme souhaité, est un graphique montrant un tableau de points montrant l’emplacement des objets. Cependant, Martin ne semble pas pouvoir étiqueter les points de données avec leurs noms individuels (à partir de la colonne A). Lorsqu’il essaie d’étiqueter les points de données, les seules options disponibles sont d’étiqueter chaque point avec sa valeur X, sa valeur Y ou son nom de série. Martin se demande s’il existe un moyen d’utiliser facilement la colonne A pour étiqueter les points de données tracés.

Cela peut être fait manuellement, mais c’est au mieux fastidieux. Pour 50 lignes, ce serait rapidement brutal, il est donc préférable de regarder une approche macro-orientée. Une idée consiste à utiliser une macro similaire à la suivante, qui parcourt les points de données dans le graphique X-Y et lit les valeurs d’étiquette de la colonne A.

Sub DataLabelsFromRange()

Dim Cht As Chart     Dim i, ptcnt As Integer

Set Cht = ActiveSheet.ChartObjects(1).Chart     On Error Resume Next     Cht.SeriesCollection(1).ApplyDataLabels _       Type:=xlDataLabelsShowValue, _       AutoText:=True, _       LegendKey:=False

ptcnt = Cht.SeriesCollection(1).Points.Count     For i = 1 To ptcnt         Cht.SeriesCollection(1).Points(i).DataLabel.Text = _           ActiveSheet.Cells(i + 1, 1).Value     Next i End Sub

La macro suppose que la première ligne de la feuille de calcul contient des informations d’en-tête et que les données réelles commencent à la ligne 2. Si les données commencent vraiment à la ligne 1, remplacez «i + 1» par simplement «i». (Cette approche macro est en fait une variante d’une macro trouvée aux pages 570-571 de l’excellent livre de John Walkenbach Excel 2003 Power Programming with VBA.)

Une approche non macro assez unique consiste à utiliser les formats personnalisés d’Excel.

Tout ce que vous avez à faire est de configurer un ensemble de formats personnalisés qui ne contiennent que le texte que vous souhaitez afficher. Par exemple, si vous avez les valeurs Âge, 15 et 23 dans les cellules A3 à C3, vous pouvez mettre en forme la cellule B3 ou C3 pour afficher le mot «Âge» même si la valeur restera 15 ou 23, respectivement. Entrez simplement «Âge» (y compris les guillemets) pour le format personnalisé de la cellule. Formatez ensuite le graphique pour afficher l’étiquette de la valeur X ou Y.

Lorsque vous faites cela, les valeurs de l’axe X du graphique seront probablement toutes changées en quelque soit le nom du format (c’est-à-dire, l’âge). Cependant, après avoir mis en forme l’axe X en nombre (sans chiffres après la virgule dans ce cas) plutôt qu’en général, le graphique doit s’afficher correctement.

Cette approche peut évidemment encore prendre un peu de temps à mettre en œuvre lorsque vous configurez et appliquez un ensemble de formats personnalisés pour chaque valeur de votre série de données. Si vous ne voulez pas vous gâcher avec l’écriture et le test de vos propres macros ou la création d’un tas de formats personnalisés, vous pouvez toujours vous tourner vers des compléments écrits par d’autres. Microsoft MVP Rob Bovey a créé un excellent complément (gratuit) pour Excel qui comprend une fonction d’étiquetage X-Y parmi plusieurs autres. Il peut être téléchargé à cette adresse:

http://www.appspro.com/Utilities/ChartLabeler.htm

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3503) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Labeling_X-Y_Scatter_Plots [Étiquetage des nuages ​​de points X-Y].