Ce code fonctionne au pas à pas mais pas en automatique
Bonsoir,
Je rencontre un problème avec le code ci-dessous, j'ai l'impression que je demande trop de ressources à Excel et qu'il n'a pas le temps de s’exécuter proprement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
Option Explicit
Private Sub UserForm_Initialize()
Dim nb As Byte
Dim Sh As Shape
Dim Fichier As String
Fichier = Workbooks(ActiveWorkbook.Name).Path & "\Temp.gif"
If Dir(Fichier) <> "" Then Kill Fichier 'Supprime l'image temportaire si elle existe
Set Sh = Worksheets("Feuil3").Shapes(1) 'Définit le 1er shape de la feuille comme image à afficher dans l'UserForm
Sh.CopyPicture 'copie le shape dans la feuille
'crée un graphique
With Worksheets("Feuil3").ChartObjects.Add(0, 0, Sh.Width, Sh.Height).Chart
.Paste 'colle l'image dans graphique
.export Fichier, "GIF" ' enregistre le graphique au format gif
End With
Image1.AutoSize = True
Image1.Picture = LoadPicture(Fichier)
Me.Width = Sh.Width
Me.ScrollHeight = Sh.Height
End Sub |
Lorsque j’exécute au pas à pas (et pas trop vite), mon image s'exporte correctement -> son poids = 109ko
Mais lorsque je souhaites exécuter normalement le lancement de ma fenêtre, l'image ne s'exporte pas correctement (elle est toute blanche et ne pèse que 3ko)
Je ne vois pas du tout comment palier ce problème... Any ideas?