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 de graphique [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut Création de graphique
    Bonjour,

    Je dois créer un graphique sous Excel 2003 via le visual basic mais je rencontre quelques difficultés.

    J'ai écris ce morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Charts.Add
                ActiveChart.ChartType = xlLineMarkers
                ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
                With ActiveChart
                    .HasTitle = True
                    .ChartTitle.Characters.Text = "Titre du graphique"
                    .ChartTitle.Font.Size = 10
                    .HasLegend = True
                    .Legend.Position = xlLegendPositionBottom
                End With
    Note que je crée toute une série de "séries de graphique" par la suite.

    Mais je suis obligé de sélectionner des données dans la sheet avant d'enclencher la macro pour qu'il ne râle pas. Si je ne sélectionne rien, il me met cette erreur :
    Erreur 1004 : La méthode "HasTitle" de l'objet _Chart a échoué
    Alors que cela fonctionne parfaitement dans Excel 2007 (mais je suis obligé d'avoir la compatibilité :/)

    Merci d'avance.

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    J'ai seulement excel 2007 alors je ne peux pas testé, essaies de passer par le nom du graphique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' au lieu de activechart :
    Charts("NomGraph")

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Je ne sais pas comment lui donner un nom, alors je suis passé par une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set chtChart = Charts.Add
    Mais ça ne change rien :/

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Sur Excel 2003 ça ne marche pas ?

    Je viens d'obtenir ça avec l'enregistreur de macros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Charts.Add
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("O26:O35"), PlotBy _
            :=xlColumns
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = "blabla"
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
        End With
    C'est exactement ce que tu as aux données près.

    EDIT : je viens de comprendre... Je ne suis pas sûr que tu puisses. Je suis même plutôt sûr que tu ne peux pas donner de titre à ton graphique sans avoir choisi la plage de données avant. Crées un graphique "à la main". Tant que la plage de données n'est pas choisie, tu ne peux pas sélectionner ton graphique et lui donner un titre. Si ce mode de fonctionnement est valable dans Excel, il l'est aussi pour les macros. A moins que quelqu'un ait une solution miracle, je te conseille quand même de leur attribuer une plage de données avant.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Exact, un grand merci

    On est obligé d'avoir mentionné des données avant de lui attribuer un titre et une légende.

    Microsoft pourrait penser à foutre des erreurs un peu plus précises :/

    Merci.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    De rien

    To be or not to be ?

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2007, 20h17
  2. [VBA-E] Création de graphique
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 06/03/2006, 11h10
  3. VBA Excel - Création de graphique
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 16h11
  4. [Graphique] Création de graphiques
    Par missnouvelle dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/11/2005, 19h12
  5. Création de graphique
    Par boxerbara dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/07/2005, 09h39

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