Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Labels dynamiques error (une ligne de code pose problème)

ZAKAO

XLDnaute Junior
Bonjour tout le monde,

J'espère sincèrement que vous allez bien.

Je vous contacte car j'ai un problème sur l'écriture d'une ligne d'un code. Voici le code avec la ligne qui pose problème en rouge:
Le problème survient car cette proportion est dynamique.
"='Jalons 2'!$P$2:$P$" & n + 4
Quelqu'un aurait-il une solution svp ?

Je vous remercie d'avance en vous souhaitant une agréable fin d'après-midi.

Bien cordialement,
ZAKAO
 
Solution
Je reconnais que le manque de fichier pose un problème et je m'en excuse. Il se trouve que j'ai trouvé la solution.

Il me manquait ce type de ligne qui...

ZAKAO

XLDnaute Junior
Bonjour Zakao,
Ou votre code donné ci dessus n'est pas complet
Ou la variable "n" est une variable public mais qu'on ne voit pas, et dont on ne connait pas la valeur
Ou la variable "n" n'a pas d'affectation, d'où l'erreur.
Bonjour @sylvanu,

En effet, je n'ai pas joint le code en entier.

"n" ici est une variable de type Integer

C'est cette variable qui porte le nombre de valeurs présents dans le nuage à point. Dans mon code, n est égal à 6.

Merci.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Impossible de reproduire le problème, car hors contexte cela génère des erreurs autres, évidemment.
Alors un peu au hasard, vous pourriez essayer :
VB:
Remplacer :
.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, "='Jalons 2'!$A$2:$A$" & n + 3, 0
par
Set Plage = Sheets("Jalons 2").Range("$A$2:$A$" & n)
.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, Plage, 0
ou par
Set Plage = Sheets("Jalons 2").Range("$A$2:$A$" & n)
.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange,"=" & Plage, 0
 

ZAKAO

XLDnaute Junior
Je reconnais que le manque de fichier pose un problème et je m'en excuse. Il se trouve que j'ai trouvé la solution.

Il me manquait ce type de ligne qui déclare le label et qui l'affiche. Il résout le bug qui déclare qu'il n'arrive pas à accéder au paramètre "count" du datalabel car mon code avait supprimer chacune de ces options.
VB:
objChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _
True, ShowSeriesName:=True, ShowCategoryName:=True, ShowValue:=True, _
ShowPercentage:=True, ShowBubbleSize:=True

Le problème ne venait donc pas de la syntaxe alors que je pensais que c'était le cas au début car j'en fais encore souvent.

Je vous remercie pour votre aide
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…