Bonjour,
je viens ici pour trouver de l'aide. Je n'arrive pas à lire correctement le contenu d'une image.
Je copie beaucoup de cellules depuis un autre fichier excel source.
Les cellules copiées sont passées en image pour afficher celle-ci dans un userform dans mon fichier excel cible.
voici mon code
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 Private Sub UserForm_Click() Dim Wbk1 As Object Dim Wbk As Workbook Dim pic_rng As Range Dim NomImage As String Dim sh_temp As Worksheet Dim ch_temp As Chart Dim PicTemp As Picture Application.DisplayAlerts = False Application.ScreenUpdating = False Set Wbk = Workbooks.Open("test.xls") 'On ouvre le fichier contenant les donnees a recuperer pour image Wbk.Unprotect Worksheets("t").Activate Worksheets("t").Select Worksheets("t").Unprotect Set pic_rng = Sheets(1).Range("A5:K9") 'faire le xlendup plus tard Set sh_temp = Worksheets.Add Charts.Add ActiveChart.Location where:=xlLocationAsObject, Name:=sh_temp.Name Set ch_temp = ActiveChart pic_rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture ch_temp.Paste Set PicTemp = Selection With ch_temp.Parent .Width = PicTemp.Width .Height = PicTemp.Height End With ch_temp.Export Filename:=ThisWorkbook.path & "\" & "range_output.jpeg" Application.DisplayAlerts = False NomImage = ThisWorkbook.path & "\" & "range_output.jpeg" UserForm7.Image1.AutoSize = False 'true ou false ça ne fait rien UserForm7.Image1.PictureSizeMode = fmPictureSizeModeZoom UserForm7.Image1.Picture = LoadPicture(NomImage) sh_temp.Delete Wbk.Close Set Wbk1 = Nothing Set Wbk = Nothing Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
si je mets à cette ligne ceci:
j'obtiens cela dans mon userform7.image1
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set pic_rng = Sheets(1).Range("A5:K9") 'faire le xlendup plus tard
des lignes lisibles et grosses
si je veux tout le contenu de mon fichier alors je mets ceci
sachant que dans 5 jours le K203 sera peut être passé à K252 par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set pic_rng = Sheets(1).Range("A5:K203") 'faire le xlendup plus tard
j'obtiens comme image alors ceci dans mon userform7.image1
tout est comprimé et j'en suis déprimé
comment faire pour qu'avec beaucoup de ligne j'obtienne le même résultat qu'avec 5 lignes par exemple. j'ai l'impression que prendre de "A5:K203" il n' y a pas "de mise à l'échelle" et qu'il faudrait faire 5 lignes par 5 lignes enregistrer dans une image et autant d'image que j'aurai de bloc de 5 images mais c'est ingérable.
En espérant exposé clairement mon soucis.
Merci d'avance si vous avez astuce ou idée.
Partager