Bonjour,
J'ai créé deux codes pour afficher un graphique dans un UserForm en utilisant une méthode préconisée sur le forum.
Le premier code se trouve sur l'userform, le voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub CommandButton1_Click()
    Dim Fichier As String
 
    Fichier = "C:\...\Graphique1.jpg"
 
    Image1.Picture = LoadPicture(Fichier)
 
End Sub
Le second est enregistré dans un module:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub Record_Graph()
Dim Grph As Chart
Dim Curve As Worksheet
Set Curve = ThisWorkbook.Sheets("Curve")
Set Grph = Curve.ChartObjects(1).Chart
Grph.Export Filename:="C:...\Graphique1.jpg", filtername:="JPG"
UserForm1.Show
End Sub
Cela fonctionne parfaitement et le rendu est vraiment très bon.
Cependant, comme vous le voyez, j'ai besoin de cliquer sur le bouton situé dans l'UserForm pour afficher mon graphique.
Je souhaiterai me passer de cette étape.

J'ai donc essayé d'intégrer le code placé dans l'UserForm dans mon module.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub Show_Picture()
Dim Fichier As String
 
Fichier = "C:\_...\Graphique1.jpg"
Image1.Picture = LoadPicture(Fichier)
UserForm1.Show
 
End Sub
Le problème est que j'ai une erreur 91 Variable Objet non définie.
J'ai donc cherché à définir ma variable image1 sans succès, je suppose que ce n'est pas le bon type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub Show_Picture()
Dim Fichier As String
Dim Image1 As StdPicture
Fichier = "C:\_EX D\OPL_245\ETAN\GAS EXPORT\Tests VBA pour Progress\Graphique1.jpg"
Image1.Picture = LoadPicture(Fichier)
UserForm1.Show
   
End Sub
Quel type de variable dois-utiliser pour Image1?