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 graphique selon version 2003 ou 2007 provoque une erreur d'éxécution de la macro


Sujet :

Macros et VBA Excel

  1. #1
    Invité
    Invité(e)
    Par défaut création graphique selon version 2003 ou 2007 provoque une erreur d'éxécution de la macro
    J'ai une macro qui marche trés bien sous Excel 2003. A partir des valeurs de ma feuille je crée un graphique que j'affiche dans un userform.

    Cependant j'ai voulu tester ma macro sous 2007 et là ... c'est le drame ... Bon j'éxagére un peu. Mais j'ai une erreur d'éxécution, qui je pense, provient du nom du graphique, qui a peut-être changé d'une version à l'autre d'excel.

    Voici la ligne sur laquelle porte le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
            "Courbe - Histo. 2 axes"
    Sous 2003 cela me permet de créer un graphique à 3 Axes (2Y, 1X), mais je ne connais pas son nom sous 2007...

    Est-il possible de faire en sorte que la version 2007 reconnaisse se graphique? ou existe-t-il un nom commun aux deux versions? ou le problème est-il différent?

    Est-ce que je vais être obligé de créer deux classeurs 1 sous 2003 et 1 sous 2007 à cause de ce graphique??

    Merci d'avance pour vos réponses, aides et autres précieux conseils =)

  2. #2
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 65
    Points : 94
    Points
    94
    Par défaut
    en realité c'est normale que tu n'arrive pas à créer ton graphe car la version d'excel 2003 ne reconnais pas les shape par exemple.
    ci dessous une partie d'un code que j'ai utilisé pour generé mon graphe suivant la version d'excel que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    'code excel 2007
    Sub CreateChart2007(Tlignes, Tsites)
        Dim Mon_Graphique As Shape
        Dim Ma_Feuille As Worksheet
        Set Mon_Graphique = GraphWs.Shapes.AddChart
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    'code excel 2003
    Sub CreateChart2003(Tlignes, Tsites)
        Dim Mon_Graphique As ChartObject
        Dim Graphe As Chart
        Dim Ma_Feuille As Worksheet
     
        'Creation de la trame graphique à une position aléatoire avec affectation des objetcts
        Set Mon_Graphique = GraphWs.ChartObjects.Add(100, 100, 350, 100)

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 65
    Points : 94
    Points
    94
    Par défaut
    pour trouver la version surlaquelle tu travaille (2003 ou 2007), a mettre dans le code precedent (et à adapter suivant tes besoins)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     'Création du graphe suivant la version utilisé
        If Application.Version = "11.0" Then
            Call CreateChart2003(Tlignes, Tsites)
        ElseIf Application.Version = "12.0" Then
            Call CreateChart2007(Tlignes, Tsites)
        ElseIf Application.Version = "14.0" Then
            Call CreateChart2007(Tlignes, Tsites)
        End If

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci pour ta réponse, il faut donc que je refasse tout le code de la création de graphique en 2003 et 2007 ... Dans ce cas je pense faire deux fichiers, un 2003 et un 2007, enfin je vais voir.

    Encore merci

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

Discussions similaires

  1. [XL-2003] Inputbox : le bouton annuler provoque une erreur d'éxécution 13
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/05/2012, 08h23
  2. [Toutes versions] Protection sur une partie des cellules provoque une erreur à l'éxécution de la macro
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/01/2012, 15h36
  3. [AC-2007] Assistant graphique plante access 2003 et 2007
    Par jchuillier dans le forum IHM
    Réponses: 0
    Dernier message: 06/11/2011, 18h02
  4. Réponses: 4
    Dernier message: 25/05/2011, 16h23
  5. Réponses: 6
    Dernier message: 31/05/2010, 14h12

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