
Sub Mise_En_Forme()
'
' Mise_En_Forme Macro
'
' Touche de raccourci du clavier: Ctrl+l
'


 Dim LaFeuille As Worksheet
 Set LaFeuille = ActiveSheet

 Application.ScreenUpdating = False             ' Désactive les changements d' état du fichier pour éviter de voir les transitions entre la version initiale et finale
 
    Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
        True
        Columns("A:A").ColumnWidth = 17
    
    Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False           ' Remplace les points par des virgules pour rendre les données exploitables

       

Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=LaFeuille.Range("A1:E500"), PlotBy:=xlColumns   'Définit la plage de données sources du graphique
    
    
    
ActiveChart.Location Where:=xlLocationAsNewSheet   ' Titres du graphe et creation d' une nouvelle feuille pour le graphe
With ActiveChart
.HasTitle = True             ' Titre General
.ChartTitle.Characters.Text = "Etuve T °C"
.Axes(xlCategory, xlPrimary).HasTitle = True             ' Titre Abscisse
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Temps (hh:mm:ss)"
.Axes(xlValue, xlPrimary).HasTitle = True              ' Titre Ordonnée
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Température (°C)"
End With

With ActiveChart.Axes(xlCategory)    ' Lignes Verticales
.HasMajorGridlines = True
.HasMinorGridlines = True
End With

With ActiveChart.Axes(xlValue)      ' Lignes Horizontales
.HasMajorGridlines = True
.HasMinorGridlines = True
End With

ActiveChart.PlotArea.Select    'Selectionne un objet PlotArea qui représente la zone de traçage d'un graphique.

With Selection.Border       ' Contour du graphe
.ColorIndex = 2
.Weight = xlThin
.LineStyle = xlContinuous
End With

With Selection.Interior   ' Interieur / Fond du graphique
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With

ActiveChart.ChartArea.Select          ' Zone Graphique
ActiveChart.SeriesCollection(1).XValues = _
"='LaFeuille'!R1C1:R500C1"
ActiveChart.SeriesCollection(1).Values = _
"='LaFeuille'!R1C1:R500C5"

ActiveChart.Axes(xlValue).Select  ' Axe des ordonnées
With Selection.Border
.ColorIndex = 57
.Weight = xlMedium
.LineStyle = xlContinuous
End With

With Selection                  ' Intervalles ordonnées
.MajorTickMark = xlOutside
.MinorTickMark = xlNone
.TickLabelPosition = xlNextToAxis
End With

ActiveChart.Axes(xlCategory).Select   ' Axe des abscisses
With Selection.Border
.ColorIndex = 57
.Weight = xlMedium
.LineStyle = xlContinuous
End With

With Selection                         ' Intervalles abscisses
.MajorTickMark = xlOutside
.MinorTickMark = xlNone
.TickLabelPosition = xlNextToAxis
End With

 With ActiveChart.Axes(xlCategory)
.MinimumScale = 0
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
    
    End With
    
     Application.ScreenUpdating = True        'Réactive les changements d' état pour voir la version finale après exécution de la macro
    
End Sub
