Se connecter avec
S'enregistrer | Connectez-vous

Graphique auto-extensible

Dernière réponse : dans Programmation

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.

  1. Sub CapteurGraph()
  2. '
  3. ' Macro enregistrée le 16/03/2010
  4. '
  5. 'Variable
  6.  
  7. Dim Name As String
  8. Name = "Feuil1"
  9. Application.ScreenUpdating = False
  10. ActiveSheet.Name = (Name)
  11. Dim Ligne As Variant
  12. Ligne = Range("D1").End(xlDown).Address
  13. Ligne = Range(Ligne).Row
  14. Dim Heure As String
  15. Heure = InputBox("Entrez La date et l'heure sous la forme MM/JJ/AAAA hh:mm")
  16. Dim OuiNon As Integer
  17. OuiNon = MsgBox("Tracer les graphiques", vbYesNo)
  18. If OuiNon = vbYes Then
  19. Dim NomGraph As String
  20. NomGraph = InputBox("Entrez La date et le numero de l'essai sous la forme JJ/MM/AAAA A")
  21. End If
  22.  
  23. 'mise en page du tableau
  24.  
  25.  
  26. 'Formule de calcul
  27.  
  28. Range("AR4").Select
  29. ActiveCell.FormulaR1C1 = "=0.039*RC[-3]*RC[-3]-2.3855*RC[-3]+4213.7"
  30. Range("AS4").Select
  31. ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]*RC[-6]*RC[-35]/1000/3600"
  32. Range("AT4").Select
  33. ActiveCell.FormulaR1C1 = "=-0.0056*RC[-4]*RC[-4]+0.0291*RC[-4]+999.97"
  34.  
  35.  
  36.  
  37. Range("AM4:AN4,AW4:AX4,BG4:BH4,BQ4:BS4").Select
  38. Selection.NumberFormat = "0.00"
  39. Range("AO4,AO4:AV4,AY4:BF4,BI4:BP4,BT4:BV4").Select
  40. Selection.NumberFormat = "0.0"
  41. Range("BX5,BX5:BY5").Select
  42. Selection.NumberFormat = "0.0000"
  43. Range("A5").Select
  44. Selection.AutoFill Destination:=Range("A5:A" + CStr(Ligne))
  45. Range("AM4:BV4").Select
  46. Selection.AutoFill Destination:=Range("AM4:BV" + CStr(Ligne))
  47. Columns("A:A").EntireColumn.AutoFit
  48.  
  49.  
  50. 'Graphique
  51.  
  52. If OuiNon = vbYes Then
  53. Application.ScreenUpdating = False
  54. Charts.Add
  55. ActiveChart.ChartType = xlXYScatterSmooth
  56. ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range( _
  57. "A1:A4003,E1:E4003,G1:G4003,I1:I4003"), PlotBy:=xlColumns
  58. ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Pressions"
  59. ActiveChart.PlotArea.Select
  60. Selection.Left = 1
  61. Selection.Width = 720
  62. With ActiveChart
  63. .HasTitle = True
  64. .ChartTitle.Characters.Text = NomGraph + " (essai 31,7°C 60°C)"
  65. .Axes(xlCategory, xlPrimary).HasTitle = True
  66. .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "date"
  67. .Axes(xlValue, xlPrimary).HasTitle = True
  68. .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "pressions"
  69. End With
  70.  
  71. End If
  72. '
  73. 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

Autres pages sur : graphique auto extensible

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte