Sub TracerCourbeGext()
Dim ws As Worksheet
Dim chartWs As Worksheet
Dim chartObj As ChartObject
Dim lastRow As Integer
Dim i As Integer
Dim f As Double
Dim TL_h As Double
Dim C_h As Double
Dim L As Double
Dim Lref As Double
' Paramètres
f = 32.5 ' Latitude
TL_h = 12 ' Temps légal
C_h = 0 ' Correction
L = -8 ' Longitude
Lref = 0 ' Référence de longitude
' Créer une nouvelle feuille pour les calculs
Set ws = [Link]
[Link] = "CalculsGext"
' En-têtes
[Link]("A1").Value = "Jour de l'année (N)"
[Link]("B1").Value = "Gext (W/m²)"
' Calcul des valeurs de Gext pour chaque jour de l'année
For i = 1 To 365
[Link](i + 1, 1).Value = i ' Jour de l'année
[Link](i + 1, 2).Value = 1367 * (1 + 0.033 * Cos(360 / 365 * (i - 4) *
[Link] / 180)) ' Gext
Next i
' Formatage des colonnes
[Link]("A:B").AutoFit
' Créer une nouvelle feuille pour le graphique
Set chartWs = [Link]
[Link] = "GraphiqueGext"
' Créer un nouvel objet de graphique
Set chartObj = [Link](Left:=100, Width:=375, Top:=50,
Height:=225)
' Configurer le graphique
With [Link]
.ChartType = xlLine ' Type de graphique en courbes
.SetSourceData Source:=[Link]([Link](1, 1), [Link](366, 2)) ' Plage
de données
.HasTitle = True
.[Link] = "Courbe de Gext en fonction de N"
' Configurer les axes
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).[Link] = "Jour de l'année (N)"
.Axes(xlValue).HasTitle = True
.Axes(xlValue).[Link] = "Gext (W/m²)"
' Définir le pas de l'axe des Y à 10
.Axes(xlValue).MajorUnit = 10
' Définir la valeur minimale de l'axe des Y à 1300
.Axes(xlValue).MinimumScale = 1300
End With
MsgBox "Le graphique a été créé avec succès !", vbInformation
End Sub