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 :

excel 2010 : VBA : graphiques se superposent


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Points : 31
    Points
    31
    Par défaut excel 2010 : VBA : graphiques se superposent
    [I]Bonjour,

    J'aimerais à partir d'un tableau de valeurs, créer plusieurs graphiques sur une même feuille Excel.

    En cliquant sur un bouton de controle pour chaque graphique (bouton1--> graph1 ; bouton2-->Graph2....)
    les boutons étant au dessus de chaque graphique.

    Le problème que j'ai c'est que je n'arrive pas à nommer un graphique, je n'ai pas trouver sur VBA.

    mon code est le suivant : pour un 1er bouton


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set graph = Worksheets("Saisie").Chartobje cts.Add(50, 420, 350, 210) 'gauche, haut, largeur du graph, hauteur
    graph.Chart.ChartWizard Source:=Worksheets("Saisie").R ange("B12:B15,D12:K15"), _
    Title:="Tri2", PlotBy:=xlColumns 'PlotBy colonne permet d'avoir les jours sur le graph
    pour un 2ème bouton : idem


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set graph = Worksheets("Saisie").Chartobje cts.Add(450, 420, 350, 210) ' gauche, haut, largeur du graph, hauteur
    graph.Chart.ChartWizard Source:=Worksheets("Saisie").R ange("B12,D12:K12,B16:B18,D16: K18"), _
    Title:="Tri3", PlotBy:=xlColumns 'PlotBy colonne permet d'avoir les jours sur le graph
    Ce code marche mais les graphiques se superposent qd je clique une 2ème fois sur le bouton

    j'avais tenté ce code ci dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each graph In Sheets("Saisie").Chartobjects
     
    graph.delete
     
    Next
    mais il efface les autres graphiques aussi....

    En espérant avoir été assez clair , pouvez vous m'aider?

    Marc

  2. #2
    Invité
    Invité(e)
    Par défaut Bojour,
    donnes lui un nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    For Each graph In Sheets("Saisie").ChartObjects
     If graph.Name = "toto" Then graph.Delete: Exit For
    Next
    Set graph = Worksheets("Saisie").ChartObjects.Add(450, 420, 350, 210) ' gauche, haut, largeur du graph, hauteur
    graph.Chart.ChartWizard Source:=Worksheets("Saisie").Range("B12,D12:K12,B16:B18,D16: K18"), _
    Title:="Tri3", PlotBy:=xlColumns 'PlotBy colonne permet d'avoir les jours sur le graph
    graph.Name = "toto"
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Points : 31
    Points
    31
    Par défaut
    super merci beaucoup!

  4. #4
    Invité
    Invité(e)
    Par défaut
    je me permet de te proposer cet solution qui vas créer tous tes graphs!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    CreerGraph Sheets("Saisie"), "toto", "B12,D12:K12,B16:B18,D16: K18", 450, 420, 350, 210, "Tri3"
    End Sub
     
    Sub CreerGraph(Ws As Worksheet, Nom As String, plage As String, Gauche As Long, Haut As Long, Larguer As Long, Hauteur As Long, Tire As String)
    For Each graph In Ws.ChartObjects
     If graph.Name = Nom Then graph.Delete: Exit For
    Next
    Set graph = Worksheets("Saisie").ChartObjects.Add(Gauche, Haut, Larguer, Hauteur)   ' gauche, haut, largeur du graph, hauteur
    graph.Chart.ChartWizard source:=Ws.Range(plage), _
    Title:=Tire, PlotBy:=xlColumns 'PlotBy colonne permet d'avoir les jours sur le graph
    graph.Name = Nom
    End Sub

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/10/2014, 13h48
  2. [XL-2010] un gros projet en Excel 2010 VBA
    Par PingouinJaune dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/10/2014, 13h17
  3. [XL-2010] Impossible d'ouvrir un fichier excel 2010 (Vba)
    Par Nemesis-fr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/12/2013, 14h57
  4. Refresh QueryTable (excel 2010 - VBA)
    Par cdurep dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/05/2013, 11h02
  5. [VBA excel]Inserer un graphique dans un formulaire
    Par girardeau dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/11/2005, 15h58

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