"création graphique"

maximdelattre Messages postés 6 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 26 mars 2008 - 25 mars 2008 à 10:50
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 25 mars 2008 à 12:32
bonjour
je souhaite créer  une macro, qui créer un graphique.. jusque la rien de compliqué.
Mais la base de données varie, il faut donc que mon graphique se mette à jour automatiquement!!!

j'aimerai savoir comment on procède????

Merci d'avance...

max80560

7 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 11:00
Salut,

De quelle maniere creer tu ton premier graphique?

Comme ca sans plus de précisions, je te conseillerais d'utiliser un Timer pour recréer ton graphique tout les X temps.

@+: Ju£i?n
Pensez: Réponse acceptée
0
maximdelattre Messages postés 6 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 26 mars 2008
25 mars 2008 à 11:05
merci de prendre en considération ma demande...

Je créer mon graphique simplement avec un bouton et une macro.

Le truc c que ma base de donnée change de dimension celon les cas.

Il faudrait donc que le créer un bouton par exemple mis à jours pour que mon graphique se mettre a jours mais je ne sais pas comment faire.

L'option timer n'est pas adaptée, un simple bouton me conviendrait...

max80560
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 11:10
Re,
Je t'avoues ne plus trop comprendre.
QU'est ce qui conditionne le changement de dimension?

je réitère ma demande, quel est le code utilisé pour créer ton graphique la premiere fois?

@+: Ju£i?n
Pensez: Réponse acceptée
0
maximdelattre Messages postés 6 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 26 mars 2008
25 mars 2008 à 11:13
voici le code de création du graphique


sub creatgraf()
'
' creatgraf Macro
' Macro enregistrée le 25/03/2008 par abuffet
'


'
    Sheets("Graphamortav").Select
    ActiveChart.Deselect
    ActiveChart.ChartArea.Select
    Sheets("essais graphique").Select
    Range("C6").Select
    selection.SpecialCells(xlCellTypeConstants, 1).Select
    Charts.Add
    ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:= _
        "courbes avec deuc axes"
    ActiveChart.SetSourceData Source:=Sheets("essais graphique").Range("C6:E149") _
        , PlotBy:=xlColumns
    ActiveChart.SeriesCollection(1).Delete
    ActiveChart.SeriesCollection(1).Name = "='essais graphique'!R2C4"
    ActiveChart.SeriesCollection(2).Name = "='essais graphique'!R2C5"
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphamortav"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "amortisseur avant"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "course"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "m/s"
        .Axes(xlCategory, xlSecondary).HasTitle = False
        .Axes(xlValue, xlSecondary).HasTitle = True
        .Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "bar"
    End With
    ActiveChart.ShowWindow = True
End Sub
Sub graf()

la base est modifié par une intervention manuelle de l'opérateur directement dans le tableau...

en espérant que j'éclaircie la situation...



max80560
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 11:23
Re,
Il faut savoir que tu ne travailles pas sous VB6 ([infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6]) mais Sous VBA Excel. Il aurait donc été plus juste de poster dans la section réservé au VBA ([infomsg.aspx Thèmes]

/ [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_LANGAGES-DERIVES_287.aspx Langages dérivés] / [infomsgt_VBA_244.aspx VBA]).
Pour tes FUTURES questions penses y
De plus 3 post pour arriver à le savoir... il faut que tu saches donner toutes les infos dès le premier post. question de gain de temps pour nous.

Pour en revenir à ton problème, en quoi le fait de réappuyer sur le bouton qui appelle creategraf n'est il pas suffisant?

@+: Ju£i?n
Pensez: Réponse acceptée
0
maximdelattre Messages postés 6 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 26 mars 2008
25 mars 2008 à 11:29
Désolé pour le manque de discipline

cela ne suffit pas car g pas envis de recreer une feuille et un grphique à chaque fois, je veu que le graphique se mette simplement à jours

max80560
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 mars 2008 à 12:32
Re,
Dans ce cas garde une référence sur le graphique créé en passant dans createGraf

sinon tu n'a que cela comme code utile? pour ce problème
Private mObjChart As Chart

Sub creatgraf()
'
' creatgraf Macro
' Macro enregistrée le 25/03/2008 par abuffet
'

'
   Sheets("Graphamortav").Select
   ActiveChart.Deselect
   ActiveChart.ChartArea.Select
   Sheets("essais graphique").Select
   Range("C6").Select
   Selection.SpecialCells(xlCellTypeConstants, 1).Select
   Set mObjChart = Charts.Add
   
   With mObjChart
       Call .ApplyCustomType(xlUserDefined, "courbes avec deuc axes")
       Call .SetSourceData(Sheets("essais graphique").Range("C6:E149"), xlColumns)
       Call .SeriesCollection(1).Delete
       
       .SeriesCollection(1).Name = "='essais graphique'!R2C4"
       .SeriesCollection(2).Name = "='essais graphique'!R2C5"
       Call .Location(xlLocationAsObject, "Graphamortav")
   
       .HasTitle = True
       .ChartTitle.Characters.Text = "amortisseur avant"
       .Axes(xlCategory, xlPrimary).HasTitle = True
       .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "course"
       .Axes(xlValue, xlPrimary).HasTitle = True
       .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "m/s"
       .Axes(xlCategory, xlSecondary).HasTitle = False
       .Axes(xlValue, xlSecondary).HasTitle = True
       .Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "bar"
       .ShowWindow = True
   End With

End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous