« Erreur d’exécution 1004 » lorsque vous apportez des modifications aux entrées de légende dans un graphique dans Excel

Symptômes

Lorsque vous exécutez une macro Microsoft Visual Basic pour Applications (VBA) qui utilise la méthode LegendEntries pour apporter des modifications aux entrées de légende dans un graphique Microsoft Excel, le message d’erreur suivant peut s’afficher :

Erreur d’exécution « 1004 » : Erreur définie par l’application ou l’objet

Cause

Ce comportement se produit lorsque le graphique Excel contient plus d’entrées de légende qu’il n’y a d’espace disponible pour afficher les entrées de légende sur le graphique Excel. Lorsque ce comportement se produit, Microsoft Excel peut tronquer les entrées de légende.

Étant donné que la méthode LegendEntries dans votre macro VBA utilise ce qui apparaît pour la légende (dans ce cas, les entrées de légende tronquées), le message d’erreur mentionné dans la section « Symptômes » de cet article se produit lorsqu’il y a plus d’entrées que d’espace disponible pour afficher les entrées de légende sur le graphique Excel.

Solution de contournement

Microsoft fournit des exemples de programmation à des fins d’illustration uniquement, sans garantie explicite ou implicite, y compris, de manière non limitative, les garanties implicites de qualité marchande et/ou d’adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

Pour plus d’informations sur les options de support disponibles et sur la façon de contacter Microsoft, visitez le site web Microsoft suivant :

https://support.microsoft.com

Pour contourner ce comportement, créez une macro qui réduit la taille de police du texte de légende de graphique Excel avant que votre macro VBA apporte des modifications à la légende du graphique, puis restaurez la taille de police de la légende du graphique afin qu’elle soit similaire à l’exemple de macro suivant.

Remarque

Vous devez disposer d’un graphique Excel dans votre feuille de calcul pour que cette macro s’exécute correctement.

Sub ResizeLegendEntries()

With Worksheets("Sheet1").ChartObjects(1).Activate
      ' Store the current font size
      fntSZ = ActiveChart.Legend.Font.Size

'Temporarily change the font size.
      ActiveChart.Legend.Font.Size = 2

'Place your LegendEntries macro code here to make
         'the changes that you want to the chart legend.

' Restore the font size.
      ActiveChart.Legend.Font.Size = fntSZ
   End With

End Sub