Résumé
Dans Microsoft Excel, il n’existe aucune commande intégrée qui attache automatiquement des étiquettes de texte aux points de données dans un graphique en xy (nuages de points) ou en bulles. Toutefois, vous pouvez créer une macro Microsoft Visual Basic pour Applications qui effectue cette opération. Cet article contient un exemple de macro qui effectue cette tâche sur un nuage de points XY. Toutefois, le même code peut être utilisé pour un graphique en bulles.
Informations supplémentaires
Microsoft fournit des exemples de programmation à des fins d’illustration uniquement, sans garantie exprimée ou implicite. Cela inclut, sans s’y limiter, les garanties implicites de qualité commerciale ou d’adéquation à un usage particulier. Cet article part du principe que vous êtes familiarisé avec le langage de programmation présenté et avec les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière. Toutefois, ils ne modifient pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures pour répondre à vos besoins spécifiques. L’exemple de code de cet article suppose que les données et les étiquettes associées sont organisées dans une feuille de calcul selon le format suivant :
- La première colonne contient les étiquettes de données.
- La deuxième colonne contient les valeurs x du graphique xy (nuages de points).
- La troisième colonne et les colonnes suivantes contiennent les valeurs y du graphique xy (nuages de points).
REMARQUE : Bien que l’exemple fourni ne contienne qu’une seule colonne de données pour les valeurs y, vous pouvez utiliser plusieurs séries de données.
Pour utiliser les macros de cet article, créez un graphique à l’aide des données suivantes :
A1 : Étiquettes B1 : X Valeurs C1 : Y Valeurs A2 : DataPoint1 B2 : 12 C2 : 5 A3 : DataPoint2 B3 : 9 C3 : 7 A4 : DataPoint3 B4 : 5 C4 : 3 A5 : DataPoint4 B5 : 4 C5 : 8 A6 : DataPoint5 B6 : 1 C6 : 4 REMARQUE : Le tableau ne doit pas contenir de colonnes vides, et la colonne qui contient les étiquettes de données ne doit pas être séparée de la colonne qui contient les valeurs x. Les étiquettes et les valeurs doivent être disposées exactement dans le format décrit dans cet article. (La cellule supérieure gauche ne doit pas être la cellule A1.)
Pour joindre des étiquettes de texte à des points de données dans un graphique xy (nuages de points), procédez comme suit :
Dans la feuille de calcul qui contient les exemples de données, sélectionnez la plage de cellules B1 :C6.
Dans Microsoft Office Excel 2003 et dans les versions antérieures d’Excel, procédez comme suit :
- Cliquez sur Graphique dans le menu Insertion.
- Dans la boîte de dialogue Assistant Graphique - Étape 1 sur 4 - Type de graphique, cliquez sur l’onglet Types Standard. Sous Type de graphique, cliquez sur XY (Nuage de points), puis sur Suivant.
- Dans la boîte de dialogue Assistant Graphique - Étape 2 sur 4 - Données sources du graphique , cliquez sur l’onglet Plage de données. Sous Série dans, cliquez sur Colonnes, puis sur Suivant.
- Dans la boîte de dialogue Assistant Graphique - Étape 3 sur 4 - Options de graphique , cliquez sur Suivant.
- Dans la boîte de dialogue Assistant Graphique - Étape 4 sur 4 - Emplacement du graphique , cliquez sur l’option En tant que nouvelle feuille , puis cliquez sur Terminer.
Dans Microsoft Office Excel 2007, procédez comme suit :
- Cliquez sur l’onglet Insertion , sur Nuage de points dans le groupe Graphiques , puis sélectionnez un type.
- Sous l’onglet Création , cliquez sur Déplacer le graphique dans le groupe Emplacement , cliquez sur Nouvelle feuille , puis sur OK.
Appuyez sur Alt + F11 pour démarrer Visual Basic Editor.
Dans le menu Insertion, cliquez sur Module.
Tapez l’exemple de code suivant dans la feuille de module :
Sub AttachLabelsToPoints() 'Dimension variables. Dim Counter As Integer, ChartName As String, xVals As String ' Disable screen updating while the subroutine is run. Application.ScreenUpdating = False 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(1).Formula 'Extract the range for the data from xVals. xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _ Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop 'Attach a label to each data point in the chart. For Counter = 1 To Range(xVals).Cells.Count ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _ True ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value Next Counter End SubAppuyez sur Alt+Q pour revenir à Excel.
Basculez vers la feuille de graphique.
Dans Excel 2003 et dans les versions antérieures d’Excel, pointez sur Macro dans le menu Outils, puis cliquez sur Macros. Cliquez sur AttachLabelsToPoints, puis sur Exécuter pour exécuter la macro.
Dans Excel 2007, cliquez sur l’onglet Développeur , sur Macro dans le groupe Code , sélectionnez AttachLabelsToPoints, puis cliquez sur Exécuter.
La macro attache les étiquettes des cellules A2 :A6 aux points de données du graphique.