Bonjour,
N'étant pas experte en VBA, je me suis inspirée de codes existants trouvés dans des forums pour écrire le code suivant.
Description du fichier :
L'utilisateur entre des données dans un userform. Celui-ci envoi les données dans un onglet "Données 2". A partir de cette base de donnée, 4 tableaux croisés dynamiques sont générés. Sur ces 4 tableaux, trois sont transformés en graphiques. Ces graphiques doivent ensuite apparaître dans le userform. Pour celà, un emplacement est réservé pour chacun d'autre eux : Image1 à Image3.
Démarche :
Après avoir cherché sur Internet, j'ai trouvé le code ci-dessous que j'ai un peu modifié. Celui-ci a très bien fonctionné quelques temps et maintenant il me donne le code erreur 481 "Image incorrect". Pourquoi???
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
30
31
32
33 Option Explicit Const Fichier As String = "C:\ImageTemp.gif" _________________________________________________________________ Private Sub UserForm_Initialize() 'Gestion des images de graphiques Dim graph As Integer For graph = 2 To 4 'Supprime l'image temporaire si elle existe If Dir(Fichier) <> "" Then Kill Fichier 'Définit le graphique dans l'onglet "RowSource" et exporte le graphique au format image With Worksheets("RowSource").ChartObjects(graph) .Height = 138 'assure la bonne hauteur .Width = 210 'assure la bonne largeur .Chart.Export Filename:=Fichier, filtername:="GIF" 'exporte le graphique End With 'Affiche l'image dans le UserForm If graph = 2 Then Me.Image1.Picture = LoadPicture(Fichier) ElseIf graph = 3 Then Me.Image2.Picture = LoadPicture(Fichier) ElseIf graph = 4 Then Me.Image3.Picture = LoadPicture(Fichier) End If Next graph End Sub
Partager