XL 2013 Format millier million dans une étiquette de graphique

ant1j

XLDnaute Nouveau
Bonjour à tous,

J'ai un comportement bizarre d'Excel 2013 et 2016 qui n'apparait dans Excel 2010.

Je crée un tableau de valeurs popur faire un graphique. J'applique aux valeurs dans mes cellules un format "# ##0,0 k" (format en milliers).

Sur XL2013 et XL2016, les nombres ainsi formatés, sur les axes ou dans les étiquettes de données sont mal affichés :
Code:
Valeur (sans format)	format (# ##0,00 k)		Texte dans graphe (format lié)	
123456					123,46k					123 456,00 k

Sur XL2010, pas de souci. Pire, un copier/coller du graph dans PPT (quelque soit la version), et les chiffres apparaissent bien formatés !!!

En creusant un peu, dans VBA j'ai :
Code:
? ActiveCell.NumberFormat  '''Sur la cellule formatée
#,##0.00,k
? ActiveCell.NumberFormatLocal
# ##0,00 k

? ActiveChart.SeriesCollection(1).DataLabels.NumberFormat   ''' sur le chart concerné
# ##0,00 k
? ActiveChart.SeriesCollection(1).DataLabels.NumberFormatLocal
# ##0,00 k
? ActiveChart.SeriesCollection(1).DataLabels.NumberFormatLinked
Vrai

Il semblerait que XL2013 applique le format 'local' au format 'pas local', d'où le format très bizarre affiché.

Faire ActiveChart.SeriesCollection(1).DataLabels.NumberFormat = "#,##0.00,k"
n'arrange rien malheureusement ...

Je n'ai pas trouvé de message ii ou sur le web avec un problème similaire. J'imagine que c'est très spécique aux versions "traduites" d'Excel.

Merci par avance pour vos message.

En PJ le fichier excel et un screenshot de ce que je "vois" sur XL2013
 

Pièces jointes

  • format millier graphe.xlsx
    14.2 KB · Affichages: 91
  • EXCEL_2016-02-15_22-25-13.jpg
    EXCEL_2016-02-15_22-25-13.jpg
    24.5 KB · Affichages: 193

ant1j

XLDnaute Nouveau
Re : Format millier million dans une étiquette de graphique

Bon, en fait le problème est aussi sur Excel 2016 PC et PPT2016 PC, mais pas sur Mac 2016.

Il semblerait qu'il n'y ait pas que les format milliers/millions mais aussi les format avec des monnaies.

L'un d'entre vous a-t-il le même problème ?
Je me sentirai moins seul ...
Merci !
 

ant1j

XLDnaute Nouveau
Re : Format millier million dans une étiquette de graphique

J'ai appliqué le format aux cellules, puis j'ai créé le graphique. J'ai ajouté les étiquettes de données.
C'est le format appliqué aux cellules (qui contiennent les valeurs) qui est affiché par défaut - dans les options de mise en forme des étiquettes la case "Lié à la source" est cochée.
Donc concrètement je n'ai rien appliqué, cela c'est fait automatiquement.
 

chris

XLDnaute Barbatruc
Re : Format millier million dans une étiquette de graphique

Re

Effectivement un autre bug. Il y a quelques jours nous en avons déjà découvert un.

Il y avait un bug sur les graphiques 2007, retrouvé sur 2010. Ils ont sorti le SP1 des 2 versions en même temps et cela a corrigé ce bug qui est réapparu dans la version Beta de 2013...:mad::confused:

De plus la fonction ajouter qui permet d'associer un format particulier dans la graphe ne semble pas marcher dans ce cas...
 

ant1j

XLDnaute Nouveau
Re : Format millier million dans une étiquette de graphique

De plus la fonction ajouter qui permet d'associer un format particulier dans la graphe ne semble pas marcher dans ce cas...
Exactement !

J'ai trouvé un contournement assez moche en VBA pour appliquer un format correct : en changeant les espaces en espace non-sécable, ça marche pour les étiquettes.
Évidemment, en utilisant ce "hack" sur les formats qu'on applique aux cellules, ça ne marche pas ! ça serait trop simple :mad:.

Pour compléter, le bug s'applique aussi aux chiffres affichés dans les axes ("TickLabels").

Code:
ActiveChart.SeriesCollection(1).DataLabels.NumberFormatLinked = False

ActiveChart.SeriesCollection(1).DataLabels.NumberFormatLocal = Replace(Range("D4").NumberFormatLocal, " ", Chr(160))

ActiveChart.Axes(xlValue).TickLabels.NumberFormatLocal = ActiveChart.SeriesCollection(1).DataLabels.NumberFormatLocal
Évidemment faudrait faire une boucle sur toutes les séries pour bien faire les choses...

J'imagine qu'il n'y a aucun moyen de faire remonter le bug à MS ? en particulier sur la version FR ?
Sur le support US, j'ai une personne qui a essayé de reproduire le bug mais sans succès (il ne doit pas être présent sur la version EN-US).
J'ai essayé le support FR par téléphone ; on m'a renvoyé sur le site et les forums ... moins sympa que les US ...

C'est quand même assez fort, j'imagine quand même que je suis pas le seul à vouloir faire des graphes avec des chiffres en milliers et en millions !!!

En tout cas merci pour ces réponses Chris ; je me dis que je ne suis pas le seul avec ce problème et que ça ne "vient pas de moi"
 

chris

XLDnaute Barbatruc
Re : Format millier million dans une étiquette de graphique

Bonjour

Les abréviations K et M sont les mêmes dans la plupart des langues : ce n'est pas logique.

Pour faire le test on pourrait tenter le format US dans Windows. J'essaierai à l'occasion.

Pour l'instant j'utilise principalement 2010, mais ai besoin de suivre toutes les versions, donc le sujet m'intéresse.
 

ant1j

XLDnaute Nouveau
Re : Format millier million dans une étiquette de graphique

Pour moi le problème vient plus de la manière de signifier qu'il faut diviser par 1000 ou 1 million, qui se fait avec le caractère de séparateur de miliers, " " en FR et "," en EN.
Cf. les formats de nombres localisés ou non :
Code:
' Sur la cellule formatée en milliers
' Fomat non-localisé - EN_US
? ActiveCell.NumberFormat  
#,##0.0,k

' Format localisé FR_FR
? ActiveCell.NumberFormatLocal
# ##0,0 k
 

Crescendo21

XLDnaute Nouveau
Ant1j a fourni la bonne explication, le caractère à utiliser est celui qui est défini dans les paramètre régionaux comme séparateur des milliers (dans mon cas, c'est le point (".")).
Cela fonctionne (Excel2019) aussi bien dans les cellules que pour les étiquettes des axes de graphiques.
 

LL21

XLDnaute Nouveau
Merci de ces explications. J'ai exactement le même souci pour des chiffres en M€. Le format 0,### " M€" fonctionne parfaitement pour l'affichage dans les cellules. En revanche, il ne fonctionne pas dans le format d'axe même en décochant le bouton "lier à la source".

La version "française" en k€ proposée par @ant1j fonctionne bien (# ##0,0 k); pas la mienne en M€. Je pense que mon format est mal formaté. Si quelqu'un peut m'aider !
 

LL21

XLDnaute Nouveau
OK.... j'ai enfin trouvé.... c'était bien caché
Capture.PNG
 

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki