Sub MaJGraphiques(sh As Object, lg As Long)
Dim Plage As Range ' Variable pour définir la série de données selon feuille de graphique
Dim Graph As Object
With Sheet3 ' Feuille Weekly Report
dcol = .Cells(5, 1).End(xlToRight).Column ' Calcul de la dernière colonne remplie
Set Plage = Nothing ' Initialisation de la série de données
For col = 7 To dcol ' Lecture des données dans les colonnes sur la ligne lg
If VarType(.Cells(lg, col)) <> 10 And VarType(.Cells(lg + 1, col)) <> 10 Then
' Si les cellules sont différentes de "#DIV/0!"
If Plage Is Nothing Then
' Si Plage est vide, groupe les cellules de la colonne "col" et les lignes de dates + lignes de données
Set Plage = Application.Union(.Cells(5, col), Range(.Cells(lg, col), .Cells(lg + 1, col)))
Else
' Ajoute à Plage les cellules de la colonne "col" et les lignes de dates + lignes de données
Set Plage = Application.Union(Plage, .Cells(5, col), .Range(.Cells(lg, col), .Cells(lg + 1, col)))
End If
Plage.Select
End If
Next
Set Graph = sh.ChartObjects(1) ' Définit le nom du graphique sur la feuille concernée
Graph.Chart.SetSourceData Source:=Plage ' Redéfinit la série des données sur le graphique concerné.
End With
End Sub