Graphique auto-extensible

  • Auteur de la discussion adrien17
  • Date de début

adrien17

Nouveau membre
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.

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
 

zeb

Modérateur
Bonjour et bienvenu.
Va lire le règlement et applique-le s'il te plaît.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 832
Membres
1 586 367
Dernier membre
ramkin
Partager cette page
Haut