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
| Sub CommandButton28_Click()
'
'===============================================================
' Idle / Ralenti Création image
'===============================================================
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir le dossier où se trouve le fichier Idle.xls ", &H1&, DossierVoiture)
On Error Resume Next
Set oFolderItem = objFolder.Items.Item
Chemin = oFolderItem.Path
Repertoire = Chemin & "\Idle.xls"
Set exl = CreateObject("excel.application")
exl.Application.DisplayAlerts = False
exl.Workbooks.Open (Repertoire)
exl.ReadOnly = True
exl.Visible = True
exl.Activate
exl.Application.Wait Now + TimeValue("0:00:02")
' référence sur la feuille qui contient la plage à exporter
Set sh = Worksheets("Feuil1")
' le fichier image
output = Chemin & "\Tableau_Ralenti.png"
' el zoom
zoom_coef = 100 / sh.Parent.Windows(1).Zoom
' sélectionner la plage à exporter
Set rng = sh.Range("A1:E12").CurrentRegion
' copier dans le presse-papier
rng.CopyPicture xlPrinter
Set chartobj = sh.ChartObjects.Add(0, 0, rng.Width * zoom_coef, rng.Height * zoom_coef)
chartobj.Chart.Paste
' exporter l'image
chartobj.Chart.Export output, "PNG"
' supprimer
chartobj.Delete
'------------------------------------------------------------------
Worksheets("Feuil1").ChartObjects(1).Chart.Export Chemin & "\Graphique_regime_moyen.png", FilterName:="PNG"
'------------------------------------------------------------------
Worksheets("Feuil1").ChartObjects(2).Chart.Export Chemin & "\Graphique_oscill_max.png", FilterName:="PNG"
exl.Application.Wait Now + TimeValue("0:00:02")
ActiveWorkbook.Close SaveChanges:=False
exl.Application.DisplayAlerts = True
exl.Application.Quit
MsgBox ("Fini !")
End Sub |
Partager