Bonjour le forum,
Dans mon userform j'ai mis une image. Cette image et en fait une copie d'un graphique que je créer sur excel. Le problème est que je n'arrive pas à dimensionner l'image du graphique. Je ne suis peut-être pas clair.
Ma fonction créer un graphe. Pour l'afficher dans mon useform je le copie dans un dossier en tant qu'image et je charge cette image dans mon userform. C'est la seule méthode que j'ai trouvé. elle fonctionne trés bien. Mais je n'arrive pas à redimensionner le graphe. Je pense qu'il faut le redimensionner avant de l'enregistrer dans un fichier .. mais je n'ai pas trouvé le bon code.
J'ai essayé d'enregistré une macro dans laquelle j'agrandis mon graphe et j'obtiens :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 Function grapheAchat() Charts.Add ActiveChart.ChartType = xl3DPie ActiveChart.SetSourceData Source:=Sheets("Calcul Délai").Range( _ "C14:E14,C2:E2") ActiveChart.Location Where:=xlLocationAsObject, name:="Calcul Délai" ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _ False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= _ False, ShowValue:=True, ShowPercentage:=False, ShowBubbleSize:=False ActiveChart.SeriesCollection(1).DataLabels.Select With Selection.Font .FontStyle = "Gras" .Size = 14 End With ActiveChart.SeriesCollection(1).DataLabels.Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .ReadingOrder = xlContext .Position = xlLabelPositionCenter .Orientation = xlHorizontal End With ActiveChart.SeriesCollection(1).Points(3).Select With Selection.Border .Weight = xlThin .LineStyle = xlAutomatic End With With Selection.Interior .ColorIndex = 5 .Pattern = xlSolid End With ActiveChart.SeriesCollection(1).Points(2).Select With Selection.Border .Weight = xlThin .LineStyle = xlAutomatic End With With Selection.Interior .ColorIndex = 4 .Pattern = xlSolid End With ActiveChart.SeriesCollection(1).Points(1).Select With Selection.Border .Weight = xlThin .LineStyle = xlAutomatic End With With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid End With With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = "grph" End With Dim Grph As Chart Set Grph = ActiveChart Grph.Export Filename:="C:\Temp\Grph.jpg", filtername:="JPG" StatUsine.Image1.Picture = LoadPicture("C:\Temp\Grph.jpg") Sheets("Calcul délai").ChartObjects(1).Delete End Function
Cependant je n'arrive pas à l'adapter à ce dont j'ai besoin, mon graphique ne s'appelant pas "Graphique 366", en fait je ne lui donne pas de nom dans ma fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ActiveSheet.Shapes("Graphique 366").ScaleWidth 1.16, msoFalse, _ msoScaleFromBottomRight ActiveSheet.Shapes("Graphique 366").ScaleHeight 1.41, msoFalse, _ msoScaleFromBottomRight
Que dois-je utiliser?
Merci pour votre aide
Partager