Deux fichiers .CSV en 1

Fermé
Topek74 Messages postés 2 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 26 avril 2017 - 26 avril 2017 à 10:21
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 29 avril 2017 à 11:01
Bonjour,

Mon but ici est de mettre sous forme de colonnes 2 fichiers CSV ( relevés de température en fonction du temps ) provenant d' une machine et de mettre ces données sous forme de graphique . Pour l' instant , je dispose du code VBA me permettant de faire le graphique mais je dois l' appliquer séparément pour chaque fichier.

Ce que je voudrais , c' est améliorer ce code pour au départ "'assembler" les 2 fichiers puis ensuite exécuter la mise en colonne des CSV et ainsi pouvoir faire un seul graphique pour les 2 fichiers .

Merci d' avance.

voici le code dont je dispose actuellement :

Public Sub CreateChartFromCSV_CS()
'Déclaration des variables
Dim wsData As Worksheet
Dim n As Long
Dim rngChart As Range
Dim objChart As Chart

Application.ScreenUpdating = False
'---------------------------------------------------------------------------------------------
'Traitement CSV
   Set wsData = ActiveSheet
    wsData.Columns(1).TextToColumns _
            Destination:=Range("A1"), _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            Comma:=True, _
            FieldInfo:=Array(Array(1, 4), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
            DecimalSeparator:=".", _
            TrailingMinusNumbers:=False
    n = wsData.Cells(Rows.Count, 1).End(xlUp).Row
    Columns("A:A").ColumnWidth = 17
    wsData.Columns(2).Insert shift:=xlToRight
    wsData.Cells(1) = "Date"
    wsData.Cells(2) = "Heure"
    wsData.Cells(2, 1).Resize(n - 1).TextToColumns _
            Destination:=Range("A2"), _
            DataType:=xlFixedWidth, _
            FieldInfo:=Array(Array(0, 4), Array(10, 9), Array(11, 1)), _
            TrailingMinusNumbers:=True
    wsData.Cells(2, 1).Offset(, 1).Resize(n - 1).NumberFormat = "h:mm;@"
    wsData.Cells(2, 1).Offset(, 2).Resize(n - 1, 4).NumberFormat = "0.00;[Red]-0.00;"
    '---------------------------------------------------------------------------------------------
   'Création graphique
   Set rngChart = wsData.Cells(1).Offset(, 1).Resize(n - 1, 5)
    Set objChart = Charts.Add(after:=Worksheets(Worksheets.Count))
    objChart.Name = "Etuve CS"
    With objChart
        .ChartType = xlLine
        .SetSourceData Source:=rngChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Etuve T °C"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Temps (hh:mm)"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Température (°C)"
        .Axes(xlValue).MinimumScale = 0
    End With
    
    'ActiveChart.Export "c:\Users\afavre\Documents\etuve.jpg", "JPG"
    '---------------------------------------------------------------------------------------------
   'RAZ variables
   Set objChart = Nothing
    Set rngChart = Nothing
    Set wsData = Nothing

End Sub

2 réponses

Topek74 Messages postés 2 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 26 avril 2017
26 avril 2017 à 10:32
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
29 avril 2017 à 11:01
Bonjour,
Fichier xlsm a mettre dans rep des fichiers CVS ou a vous de modifier le chemin
Une facon de faire. Procedure de lancement dans Module MLance.
le nom des deux fichiers CSV ecrit en dur , car vous ne mentionnez pas comment vous recuperez les fichiers

https://mon-partage.fr/f/bKmOdx0z/

A vous de voir
0