[VBA] Donner nom graphique lors de la création de celui-ci
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

[VBA] Donner nom graphique lors de la création de celui-ci



  1. #1
    flodrows

    [VBA] Donner nom graphique lors de la création de celui-ci


    ------

    Bonjour à tous,
    J'aurais une petite question, je suis débutant en VBA et j'essaye de coder une macro créant plusieurs graphiques. J'ai réussi à donner un titre global, pour les abscisses et les ordonnées, j'ai aussi réussi à positionner mon graphique à l'endroit où je voulais. Mais lors de la création du graphique j'aimerais pouvoir donner directement un nom (au lieu de graphique 10, par exemple) car je pense que cela sera plus simple lorsque je créerai plusieurs graphiques. Quelqu'un aurait-il la solution?
    Voici mon code actuel:
    Code:
     ActiveSheet.Shapes.AddChart.Select
    
        ActiveChart.ChartType = xlXYScatter
        ActiveChart.SetSourceData Source:=Range("AK2:AL" & Range("AL2").End(xlDown).Row)
        ActiveSheet.ChartObjects(10).Name = "Le nom du Graphique"
        
    
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Text = "Diagramme puissance élec-minute"
            .Axes(xlCategory, xlPrimary).HasTitle = True
            .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Minutes"
            .Axes(xlValue, xlPrimary).HasTitle = True
            .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Puissance elec (kW)"
    
        End With
        With ActiveSheet.Shapes("Le nom du Graphique")
        .Left = Range("R20").Left
        .Top = Range("R20").Top
    End With
    Merci d'avance.

    -----

  2. #2
    cherbe

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    Bonjour
    Il y a bien longtemps que je n'ai pas manipulé de graphique en VBA donc je me mettrais en mode enregistrement de macro puis je renommerais le graphique.
    Il faudra ensuite étudier le code généré pour rechercher la propriété à modifier

  3. #3
    flodrows

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    Bonjour Cherbe, merci pour votre réponse.
    Néanmoins j'ai déjà essayé cette méthode et le problème est que le graphique créé s'appelle graphique 10, ce numéro pouvant changer par la suite , j'aimerai ne plus être dépendant de ce numéro et créer directement un graphique ayant le nom "ToTo" ou "Le nom du graphique".
    Quelqu'un peut-il m'aider pour ce problème la?
    Merci d'avance.

  4. #4
    cherbe

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    tu n'as pas essayé : ActiveChart.Name = "Toto" ?
    Mais je ne suis pas sûr que ce soit cette propriété que tu veux contrôler.

  5. A voir en vidéo sur Futura
  6. #5
    flodrows

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    J'ai déjà essayé, j’obtiens l'erreur suivante:
    Erreur d'exécution '7':
    Mémoire insuffisante.

    Voici le code que j'ai utilisé pour "tester" :
    Code:
    Sub Testgraphique()
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatterLines
    
    ActiveChart.Name = "Toto"
    End Sub
    Mon ordi n'est pas très puissant, mais quand même cela me semble une opération ne demandant pas de ressources.
    Peut-tu tester ce petit code sur ton ordi pour voir si tu as la même erreur?
    Merci bonne journée

    Edit: Je viens de trouver la solution sur interne, j'avais cherché longuement mais finalement j'ai trouvé la solution que maintenant. Il suffisait de rajouter .Parent :
    ActiveChart.Parent.Name = "Toto"
    La ça marche, je ne sais pas du tout pourquoi avant cela ne marchait pas mais bon, c'est les mystères de vba
    Dernière modification par flodrows ; 11/04/2016 à 14h04.

  7. #6
    cherbe

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    Je n'ai pas Excel sous la main donc je ne peux pas tester.
    essaie de mettre l'avant dernière ligne en remarque pour voir si c'est elle qui pose problème.

  8. #7
    flodrows

    Re : [VBA] Donner nom graphique lors de la création de celui-ci

    Citation Envoyé par cherbe Voir le message
    Je n'ai pas Excel sous la main donc je ne peux pas tester.
    essaie de mettre l'avant dernière ligne en remarque pour voir si c'est elle qui pose problème.
    Non c'était bien la dernière ligne qui posait problème, mais en mettant ActiveChart.Parent.Name = "Toto" maintenant cela marche (cf mon edit de mon dernier message).
    Merci beaucoup pour ta patience, je te souhaite une bonne journée

Discussions similaires

  1. [Physiologie] Variations de pressions lors de la respiration (graphique à comprendre)
    Par Meiosis dans le forum Biologie
    Réponses: 15
    Dernier message: 24/09/2014, 09h01
  2. Réponses: 23
    Dernier message: 19/02/2013, 21h40
  3. Réponses: 5
    Dernier message: 03/11/2009, 11h25
  4. Doit-on donner à manger lors d'un malaise ?
    Par invite42e9fb75 dans le forum Secourisme spécial Croix-Rouge
    Réponses: 2
    Dernier message: 26/06/2004, 02h08