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 :
Lorsque j’exécute au pas à pas (et pas trop vite), mon image s'exporte correctement -> son poids = 109ko
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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?
Partager