IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mise en forme format date dans la legende d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut Mise en forme format date dans la legende d'un graphique
    Bonjour,

    C'est mon second message sur le forum (le premier étant la présentation). D'avance désolé si je ne respecte pas correctement le format des demandes.

    Je suis en train de créer des graphiques sur Excel, tout fonctionne parfaitement sauf un point, la mise en forme du texte de la légende.
    Je fais un graphique avec plusieurs séries à des dates différentes. Dans la légende je mets les dates pour différencier les séries.
    En input de date je mets un format: Oct 2017
    Mais quoi que je fasse il force et met la date en format dd/mm/aaaa.

    J'aimerai changer le formating de la date mais je n'y arrive pas. Je pense qu'il faut jouer avec LengendEntry et LegendKey mais je m'en sors pas.
    Voici un extrait du code: Je formate bien la colonne source des légendes en mmm yyyy mais la légende me le renvoie en dd/mm/aaaa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Sub MRT_plot()
     
    '---------------------------------------------------------------------------------
    'Formating date for legend
    numrow = T.UsedRange.Rows.Count
     
    T.Range("Z1" & ":Z" & numrow).Value = T.Range("D1" & ":D" & numrow).Value
    T.Columns("Z:Z").EntireColumn.NumberFormat = "[$-0409]mmm yyyy"
     
    Charts.Add
     
    With ThisWorkbook
        ActiveChart.Move after:=.Sheets(.Sheets.Count) 'Ajoute chaque plot à la fin
    End With
     
    nameplot = T.Range("A" & L0) & "_MRT"  'Name for onglet
     
    '----------------------------------------------------------------------------------------------
    color_axes = RGB(134, 134, 134)
     
    'Formating onglet and plot
    With ActiveChart
        'Onglet title
        .Name = nameplot
        .Tab.Color = RGB(64, 64, 64)
        'Plot title
        .HasTitle = True
        .ChartTitle.Characters.Text = T.Range("A" & L0) & " - MRT plot"
        .ChartTitle.Font.Size = 22
    End With
    '---------------------------------------------------------------------------------------------------
                                        With ActiveChart
                                            .ChartType = xlXYScatter
                                            .SeriesCollection.NewSeries
                                            .SeriesCollection(i).Name = T.Range("Z" & L0_test).Value 'Date within legend box
                                            .SeriesCollection(i).XValues = T.Range("E" & CStr(L0_test) & ":E" & CStr(LFin_test - 1)) 'X values, Qg
                                            .SeriesCollection(i).Values = T.Range("M" & CStr(L0_test) & ":M" & CStr(LFin_test - 1)) 'Y values, THP
                                        End With
     
     
                                            'Legend box formating
                                        With ActiveChart
                                            .HasLegend = True
                                            .Legend.Format.Fill.ForeColor.RGB = RGB(256, 256, 256) 'blanc
                                            .Legend.Font.Size = 14
                                            .Legend.Border.Color = RGB(134, 134, 134)
                                        End With

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    avec mes tests (sur 2010 et en manuel) la légende prend bien le format des cellules.
    Tu devrais préciser ta version.
    eric

  3. #3
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    Salut,

    Tente peut-être, après la création de ton Chart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.Axes(xlCategory).TickLabels.NumberFormat = "mmm yyyy"

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut
    @eriiic
    Office Professionel Plus 2013.
    Le format fonctionne sur la feuille tableur mais quand je vais le chercher pour la légende il reprend dd/mm/aaaa

    @Phil'Oche
    Si je fais ça je modifie mon axe des abscisses. Hors sur mon axe des abscisses ce n'est pas une variable date mais une variable débit

  5. #5
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    Citation Envoyé par Hugo8 Voir le message
    @Phil'Oche
    Si je fais ça je modifie mon axe des abscisses. Hors sur mon axe des abscisses ce n'est pas une variable date mais une variable débit
    Oups... désolé, lecture en diagonale, je n'avais pas vu que tu parlais de la légende (pourtant, tu l'avais bien écrit... )

    Je n'arrive pas à retrouver ce qui permettrait de "remonter" au format des étiquettes de cette légende. Il y a plusieurs propriétés, mais elles sont en lecture seule, donc non modifiable par le code...

    Si tu en as la possibilité, peut-être qu'en insérant une colonne (masquée) à laquelle tu te réfèreras pour les données, et dans laquelle tes valeurs sont formatées comme désiré ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Par défaut
    Si tu en as la possibilité, peut-être qu'en insérant une colonne (masquée) à laquelle tu te réfèreras pour les données, et dans laquelle tes valeurs sont formatées comme désiré ?
    C'est ce que j'ai fait en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    T.Columns("Z:Z").EntireColumn.NumberFormat = "[$-0409]mmm yyyy"
    Mais ça ne fonctionne pas, il remet en format dd/mm/aaaa

Discussions similaires

  1. [AC-2007] Mise en forme conditionnelle date dans Etat
    Par Yamina62 dans le forum IHM
    Réponses: 9
    Dernier message: 28/09/2013, 13h43
  2. Format date dans état après migration
    Par guiguikawa dans le forum Access
    Réponses: 10
    Dernier message: 21/06/2006, 13h27
  3. Garder la mise en forme de texte dans un champ
    Par dany13 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/07/2005, 14h49
  4. [CR9] lenteur mise en forme des couleurs dans expert diagram
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 20/04/2005, 08h48
  5. Réponses: 3
    Dernier message: 21/02/2005, 00h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo