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 :

création d'un titre de graphique [XL-2016]


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
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut création d'un titre de graphique
    Bonjour,

    je bute sur un problème sur la création d'un graphique. j'ai créé un graphique à partir d'une plage dynamique, j'ai adapté la taille de ce graphique au nombre d'éléments à y faire figurer. je souhaiterais à présent ajouter un titre et virer la légende qui ne me sert à rien. j'ai parcouru les topics sur ce sujet, qui m'ont bien aidé à créer le graphique, mais impossible d'aller plus loin sur les éléments titre et légende. j'ai essayé une première méthode basée sur le nom donné à mon graphique (graphe), mais la deuxième ligne (ligne 12) bloque car ma commande chartTitle.Text semble ne pas être la bonne.
    J'ai trouvé une deuxième approche en dessous, basée sur l'activation de mon graphique, mais la première ligne (ligne 16) bloque car l'élément graphe est introuvable (j'ai essayé avec graphe et "graphe"). J'ai l'impression que le nom de graphe que j'ai pensé donner à mon graphique s'applique à autre chose et je ne vois pas trop où j'ai fait une erreur.
    Merci de votre aide en la matière

    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
     
    Set plage = Union(Sheets("travail").Range(Cells(5, 3), Cells(5, i - 1)), Sheets("travail").Range(Cells(1, 3), Cells(1, i - 1)))
     
    titre = "test"
     
    Dim graphe As ChartObject
     
    Set graphe = Sheets("commandes").ChartObjects.Add(Left:=10, Width:=(i / 6) * 200, Top:=220, Height:=200)
    graphe.Chart.SetSourceData Source:=plage
     
    'graphe.Chart.HasTitle = True
    'graphe.ChartTitle.Text = titre
    'graphe.Legend.Select
    'Selection.Delete
     
    ActiveSheet.ChartObjects(graphe).Activate
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = titre
        ActiveChart.Legend.Select
        Selection.Delete

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Pour ajouter un titre au graphique, la syntaxe correcte est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.ChartTitle.Characters.Text = titre
    Cdlt

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Bonjour,

    Pour ajouter un titre au graphique, la syntaxe correcte est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.ChartTitle.Characters.Text = titre
    Cdlt
    Merci, mais j'ai toujours les mêmes problèmes. Si j'essaie avec ma première stratégie,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    graphe.Chart.HasTitle = True
    graphe.ChartTitle.Characters.Text = titre
    il m'indique une méthode ou propriété non gérée

    si j'essaie avec la deuxième,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveSheet.ChartObjects(graphe).Activate
    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    ActiveChart.ChartTitle.Characters.Text = titre
    il m'indique que l’élément portant ce nom est introuvable

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonsoir,

    "Graphe" est-ce le nom du graphique ou bien un nom de variable attribué à ce graphique?

    Vous ne montrez qu'un bout de code, donc on manque de visibilité pour en dire plus.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    j'avais mis le code plus haut. dans mon esprit graphe était le nom du graphique, mais je dois me tromper au vu des messages d'erreur. par contre, je ne sais pas comment se nomme ce graphique, ni comment agir dessus

    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
     
    Set plage = Union(Sheets("travail").Range(Cells(5, 3), Cells(5, i - 1)), Sheets("travail").Range(Cells(1, 3), Cells(1, i - 1)))
     
    titre = "test"
     
    Dim graphe As ChartObject
     
    Set graphe = Sheets("commandes").ChartObjects.Add(Left:=10, Width:=(i / 6) * 200, Top:=220, Height:=200)
    graphe.Chart.SetSourceData Source:=plage
     
    'graphe.Chart.HasTitle = True
    'graphe.ChartTitle.Text = titre
    'graphe.Legend.Select
    'Selection.Delete
     
    ActiveSheet.ChartObjects(graphe).Activate
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = titre
        ActiveChart.Legend.Select
        Selection.Delete

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    je mets le code complet de la macro

    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
    Sub graphique()
     
    Dim titre As String
    Dim plage As Range
    Dim i As Integer
     
     i = 3
     Do While Sheets("travail").Cells(1, i) <> ""
     i = i + 1
     Loop
     
    Set plage = Union(Sheets("travail").Range(Cells(5, 3), Cells(5, i - 1)), Sheets("travail").Range(Cells(1, 3), Cells(1, i - 1)))
     
    titre = "à faire"
    titre2 = "essai"
     
    Dim graphe As ChartObject
     
    Set graphe = Sheets("commandes").ChartObjects.Add(Left:=10, Width:=(i / 6) * 200, Top:=220, Height:=200)
    graphe.Chart.SetSourceData Source:=plage
     
     
     
    graphe.Chart.HasTitle = True
    graphe.ChartTitle.Characters.Text = titre
    'graphe.Legend.Select
    'Selection.Delete
     
    'ActiveSheet.ChartObjects(graphe).Activate
        'ActiveChart.SetElement (msoElementChartTitleAboveChart)
       ' ActiveChart.ChartTitle.Characters.Text = titre
        'ActiveChart.Legend.Select
        'Selection.Delete
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'imageS à partir de graphiques
    Par jbollagnier dans le forum Excel
    Réponses: 3
    Dernier message: 08/11/2007, 19h34
  2. changer dynamiquement un titre de graphique MSGraph
    Par Philippe PONS dans le forum IHM
    Réponses: 1
    Dernier message: 24/08/2007, 12h50
  3. Modification auto de titre de graphique
    Par Nanit6 dans le forum Excel
    Réponses: 5
    Dernier message: 18/07/2007, 14h06
  4. Création de Tableau de Composant Graphique
    Par vincentRO dans le forum Graphisme
    Réponses: 2
    Dernier message: 18/05/2007, 23h50
  5. Macro Excel VBA : création automatique de 140 graphes/graphiques
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/02/2007, 10h13

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