Créer un graphique a ortir dune feuille excel et le metrre a jour dynamiquement

stefsuire Messages postés 5 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 31 mai 2005 - 31 mai 2005 à 13:42
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 31 mai 2005 à 16:59
Bonjour,



je souhaite, via un timer, acquerir des données (ca, ca marche!!) et
pondre juste derriere ca , un graphe temps réel de ces valeurs.

1) vous mettriez quel type d'objet ? (picture box, image, ole, etc...?)

2) comment le coderiez vous?



voila le code de mon timer. j'ai tenté de mettre un graphe excel mais ca foire..



merci



Stef

----------------------------------------------------------------------------

Private Sub Timer2_Timer()

'mise en marche du timer et acquisition



'teste si l'autorisation est donnée

If flagmarche = False Then Exit Sub

If flagmarche = True Then



Dim chaine As String

Dim paramcanal(20) As String

Dim compt As Double

Dim index As Double



'Ouverture du fichier qui contient les parametres du timer2

Open chemin & "\configcanaux.txt" For Input As #1

compt = 1

'Boucle de parcours séquentiel

Do While Not EOF(1)

Input #1, chaine

paramcanal(compt) = chaine

compt = compt + 1

Loop

Close #1



'le dernier parametre lu est le tempo du timer

index = compt - 1

Timer2.interval = paramcanal(index)

tempo = Timer2.interval



'lecture desdonnées recueillies par la carte sur le port com1

TXD 1 'la validation passe a 1 et l'acquisition commence

val1 = FormatNumber(READBYTE() / 255) * Alim

val2 = FormatNumber(READBYTE() / 255) * Alim

val3 = FormatNumber(READBYTE() / 255) * Alim

val4 = FormatNumber(READBYTE() / 255) * Alim



'affichage des valeurs mesurées dans des textbox pour un controle visuel

Text1.Text = val1

i = i + 1

'conversion en secondes

t = i * tempo / 1000

Text5.Text = i



Text2.Text = val2

j = j + 1

Text6.Text = j



Text3.Text = val3

k = k + 1

Text7.Text = k



Text4.Text = val4

l = l + 1

Text8.Text = l



'remplissage du tableur excel recueuillant les valeurs expérimentales

apex.Worksheets(1).Cells(t, 1).Value = t

apex.Worksheets(1).Cells(t, 2).Value = val1

apex.Worksheets(1).Cells(t, 3).Value = val2

apex.Worksheets(1).Cells(t, 4).Value = val3

apex.Worksheets(1).Cells(t, 5).Value = val4





'c'est la que j'ai besoin d'aide !!!!

'création du graphique

apex.Range("a1:b" & t + 1).Select ' graphe de la prmiere des 4 valeurs en fonction du temps

apex.Charts.Add

apex.ActiveChart.ChartType = xline



'fin de ma partie difficile



' fin de l'acquisition sur ce cycle

TXD 0



End If

End Sub

-------------------------------------------------------------------------

5 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
31 mai 2005 à 14:17
Bonjour,

Voici un modèle de création de graphique dans Excel.



Sub Graphe()

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("A1:F3"), PlotBy:= _

xlRows

ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"

With ActiveChart

.HasTitle = False

.Axes(xlCategory, xlPrimary).HasTitle = False

.Axes(xlValue, xlPrimary).HasTitle = False

End With

End Sub



jpleroisse
0
stefsuire Messages postés 5 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 31 mai 2005
31 mai 2005 à 14:30
merci pour ton code ...



mais comment est ce que j'utilise ta partie de code? elle s'insere
entre mes partie marquées en rouge..c'est une fonction a mettre dans
un module ?



merci!



Stef
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
31 mai 2005 à 14:40
Re,

Oui , met le code dans la partie marquée en rouge, bien sur je suppose
que tu as placés la références à Excel et ouvert un classeur ?





jpleroisse
0
stefsuire Messages postés 5 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 31 mai 2005
31 mai 2005 à 15:22
Oui j'ai ouvert juste avant, dans un bouton la procédure d'ouverture d'un fichier excel, pret a etre rempli !!!



par contre le graphe va t'il se mettre ajour facon continu au fur et a
mesure que vont apparaitre les données dans le classeur...???



il parait que le fameux DoEvents, c'est top.... sauf que je sais pas l'utiliser...



tu sais toi ?
0

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

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
31 mai 2005 à 16:59
Je pense que chaque fois que tu vas cliquer pour introduire les données, le graph vas se recréé, donc mis à jour.

C'est un essai qu'il te faut faire, personnellement je n'ai jamais eu à utiliser cette méthode.



jpleroisse
0
Rejoignez-nous