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 :

VBA + Graphique Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 29
    Points : 20
    Points
    20
    Par défaut VBA + Graphique Excel
    Bonjour,

    Sur une feuille de calcul, j'ai une macro qui génère un grahique à partir d'une plage de cellules donnée.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Sélection de la plage du tableau pour le graphique
    Set SourceRange = Range([G4].Offset(0, 4), [G4].End(xlDown))
     
    'Ajout du tableau
    Charts.Add
    ActiveChart.ChartType = xl3DBarClustered
    ActiveChart.SetSourceData Source:=SourceRange, PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=Feuil1
    Cette macro est identique pour plusieurs feuilles de calcul. Seulement, avec ce code, tous les graphiques apparaissent sur la feuille 1. Or je voudrais que chaque graphique apparaissent sur sa propre feuille (sans avoir à multiplier la macro car le nombre de feuille de calcul peut varier).
    J'ai essayé avec un truc du genre "ActiveSheets" dans la rubrique "Name:=" mais ça ne marche pas. Est-ce que qqn pourrait m'aider svp ?

    Pour résumer, je voudrais générer un graphique sur la feuille qui est active lorsque je clique sur la macro.

    Merci d'avance
    NiKoS29

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    tu peux tester cette adaptation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim nomFeuille As String
    'Sélection de la plage du tableau pour le graphique
    Set SourceRange = Range([G4].Offset(0, 4), [G4].End(xlDown))
    nomFeuille = ActiveSheet.Name
     
    'Ajout du tableau
    Charts.Add
    ActiveChart.ChartType = xl3DBarClustered
    ActiveChart.SetSourceData Source:=SourceRange, PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=nomFeuille

    cordialement
    michel

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Yeeha !

    Merci ! ça fonctionne !
    J'avais pensé à utiliser le sourcerange pour la plage de sélection car ça ne marchait pas mais pas pour la destination d'affichage.

    Dois-je en conclure qu'il vaut mieux définir des variables plutôt que de mettre les valeurs directement dans les syntaxes ? (je précise juste un point...je suis débutant en vb)

    Merci en tout cas pour la réponse rapide !

    NiKoS

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    rebonsoir

    Lorsque tu crees un nouveau graphique tu n'es plus dans la feuille active de depart , mais dans la feuille graphique qui s'ajoute automatiquement dans le classeur


    ensuite seulement , c'est l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.Location Where:=xlLocationAsObject, Name:=Feuil1
    qui va placer le nouveau graphique dans une feuille de calcul


    tu peux utiliser la macro en mode pas à pas ( F8) et tu verras ainsi comment se construit le graphique


    bonne soiree
    michel

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

Discussions similaires

  1. [VBA-E]Insertion graphique Excel dans Word
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/04/2006, 14h26
  2. [VBA-E]Graphique Excel
    Par shinobi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/04/2006, 13h40
  3. [VBA-E]graphique excel dans un userform
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/03/2006, 09h03
  4. [VBA]graphique excel
    Par manaboko dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/01/2006, 18h15
  5. Forcer le nom d'un graphique excel en vba
    Par NiKoS29 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/01/2006, 17h25

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