Bonjour,
J'utilise un logiciel basé sur labwiew pour récupérer les valeurs de diffèrent capteur positionner sur mon installation, ce logiciel me donne un fichier texte.
Ce fichier texte est de longueur variable, avec un nombre de point maximum de 4000. Une fois ces 4000 points atteint, il me crée un autre fichier ayant un autre nom.
Plusieurs fois par jour, le compteur est remis à zéro, et toutes les données sont réunis sur un seul fichier.
La macro que j'ai créé prend en compte cette longueur dans la feuille excel pour les calculs à partir de mes données.
Mon problème vient du fait que je n'arrive à faire varier la sélection de mes graphiques.
J'ai supprime une bonne partie des calculs ainsi que toutes la mise en page de la feuille excel, et j'ai laissé seulement un seul de mes 10 graphiques car ils ont tous le même problème
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range( _
"A1:A4003,E1:E4003,G1:G4003,I1:I4003"), PlotBy:=xlColumns
je n'arrive pas à faire varier la valeur 4003, si quelqu'un connait la solution.
Merci
ps: Desolé pour l'oubli de la balise
J'utilise un logiciel basé sur labwiew pour récupérer les valeurs de diffèrent capteur positionner sur mon installation, ce logiciel me donne un fichier texte.
Ce fichier texte est de longueur variable, avec un nombre de point maximum de 4000. Une fois ces 4000 points atteint, il me crée un autre fichier ayant un autre nom.
Plusieurs fois par jour, le compteur est remis à zéro, et toutes les données sont réunis sur un seul fichier.
La macro que j'ai créé prend en compte cette longueur dans la feuille excel pour les calculs à partir de mes données.
Mon problème vient du fait que je n'arrive à faire varier la sélection de mes graphiques.
Code:
Sub CapteurGraph()
'
' Macro enregistrée le 16/03/2010
'
'Variable
Dim Name As String
Name = "Feuil1"
Application.ScreenUpdating = False
ActiveSheet.Name = (Name)
Dim Ligne As Variant
Ligne = Range("D1").End(xlDown).Address
Ligne = Range(Ligne).Row
Dim Heure As String
Heure = InputBox("Entrez La date et l'heure sous la forme MM/JJ/AAAA hh:mm")
Dim OuiNon As Integer
OuiNon = MsgBox("Tracer les graphiques", vbYesNo)
If OuiNon = vbYes Then
Dim NomGraph As String
NomGraph = InputBox("Entrez La date et le numero de l'essai sous la forme JJ/MM/AAAA A")
End If
'mise en page du tableau
'Formule de calcul
Range("AR4").Select
ActiveCell.FormulaR1C1 = "=0.039*RC[-3]*RC[-3]-2.3855*RC[-3]+4213.7"
Range("AS4").Select
ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]*RC[-6]*RC[-35]/1000/3600"
Range("AT4").Select
ActiveCell.FormulaR1C1 = "=-0.0056*RC[-4]*RC[-4]+0.0291*RC[-4]+999.97"
Range("AM4:AN4,AW4:AX4,BG4:BH4,BQ4:BS4").Select
Selection.NumberFormat = "0.00"
Range("AO4,AO4:AV4,AY4:BF4,BI4:BP4,BT4:BV4").Select
Selection.NumberFormat = "0.0"
Range("BX5,BX5:BY5").Select
Selection.NumberFormat = "0.0000"
Range("A5").Select
Selection.AutoFill Destination:=Range("A5:A" + CStr(Ligne))
Range("AM4:BV4").Select
Selection.AutoFill Destination:=Range("AM4:BV" + CStr(Ligne))
Columns("A:A").EntireColumn.AutoFit
'Graphique
If OuiNon = vbYes Then
Application.ScreenUpdating = False
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range( _
"A1:A4003,E1:E4003,G1:G4003,I1:I4003"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Pressions"
ActiveChart.PlotArea.Select
Selection.Left = 1
Selection.Width = 720
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = NomGraph + " (essai 31,7°C 60°C)"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "date"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "pressions"
End With
End If
'
End Sub
J'ai supprime une bonne partie des calculs ainsi que toutes la mise en page de la feuille excel, et j'ai laissé seulement un seul de mes 10 graphiques car ils ont tous le même problème
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range( _
"A1:A4003,E1:E4003,G1:G4003,I1:I4003"), PlotBy:=xlColumns
je n'arrive pas à faire varier la valeur 4003, si quelqu'un connait la solution.
Merci
ps: Desolé pour l'oubli de la balise