Sub Graphique()
Dim I As Long
Dim Sh As Worksheet
Set Sh = ActiveSheet
' Application.ScreenUpdating = False ' Ne pas faire false sinon erreur image incorrecte
On Error GoTo errgraph
With Sheets("Graph")
.Activate ' indispensable pour la suite
UsFAct.Label45.Caption = IIf(.Range("S44").Value > 0, Format(.Range("S44").Value, "+0%"), Format(.Range("S44").Value, "-0%"))
For I = 1 To 5
With .ChartObjects("Graph " & I)
' on déplace la fenêtre jusqu'au graphique pour qu'Excel le "découvre" et le stocke en mémoire
ActiveWindow.ScrollRow = .TopLeftCell.Row
fichier = ThisWorkbook.Path & "\ImageTemp" & I & ".gif"
.Chart.Export Filename:=fichier, FilterName:="GIF"
UsFAct.Controls("graph" & I).Picture = LoadPicture(fichier)
UsFAct.Controls("graph" & I).AutoSize = True
Kill fichier
End With
Next I
End With
Sh.Activate
Exit Sub
errgraph:
MsgBox "Graphique " & I & " absent de ce PC." & vbLf & Err.Description, vbExclamation, "ERREUR graphique"
Resume Next
End Sub