Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal
j'ai trouvé si cela intéresse quelqu'un voici le code
Public Sub SaveRangeAsImage()
Dim r As Range Dim x As Integer, y As Integer Dim varFullPath As Variant Dim Graph As String
' selection de la plage par une InputBox Set r = Application.InputBox("Sélectionnez la plage à exporter", _ "Export Image", Selection.AddressLocal, Type:=8)
r.Select ' copie de la plage en format image grâce à .CopyPicture Selection.CopyPicture appearance:=xlScreen, Format:=xlBitmap x = Selection.Width y = Selection.Height
' on utilise l'objet Chart pour sa facilité d'export ' création du graphique Workbooks.Add (1) ActiveSheet.Name = "enGIF" Charts.Add ActiveChart.ChartType = xl3DArea ActiveChart.SetSourceData r ActiveChart.Location xlLocationAsObject, "enGIF" ' le graph n'est là que comme réceptacle de l'image, on le vide avec .ClearContents ActiveChart.ChartArea.ClearContents ' on colle l'image qui réside dans le presse papier ActiveChart.Paste
' redimensionnement ' on récupére le nom du graph de la collection Shapes Graph = Mid(ActiveChart.Name, Len(ActiveSheet.Name) + 1) ' on effectue un redimensionnement ActiveSheet.Shapes(Graph).ScaleWidth x / ActiveChart.ChartArea.Width, _ msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes(Graph).ScaleHeight y / ActiveChart.ChartArea.Height, _ msoFalse, msoScaleFromTopLeft
Comment stocker l'image au format jpg ou gif dans un dossier temporaire afin de pouvoir l'utiliser dans une présentation Power Point? Merci Pascal
j'ai trouvé si cela intéresse quelqu'un
voici le code
Public Sub SaveRangeAsImage()
Dim r As Range
Dim x As Integer, y As Integer
Dim varFullPath As Variant
Dim Graph As String
' selection de la plage par une InputBox
Set r = Application.InputBox("Sélectionnez la plage à exporter", _
"Export Image", Selection.AddressLocal,
Type:=8)
r.Select
' copie de la plage en format image grâce à .CopyPicture
Selection.CopyPicture appearance:=xlScreen, Format:=xlBitmap
x = Selection.Width
y = Selection.Height
' on utilise l'objet Chart pour sa facilité d'export
' création du graphique
Workbooks.Add (1)
ActiveSheet.Name = "enGIF"
Charts.Add
ActiveChart.ChartType = xl3DArea
ActiveChart.SetSourceData r
ActiveChart.Location xlLocationAsObject, "enGIF"
' le graph n'est là que comme réceptacle de l'image, on le vide avec
.ClearContents
ActiveChart.ChartArea.ClearContents
' on colle l'image qui réside dans le presse papier
ActiveChart.Paste
' redimensionnement
' on récupére le nom du graph de la collection Shapes
Graph = Mid(ActiveChart.Name, Len(ActiveSheet.Name) + 1)
' on effectue un redimensionnement
ActiveSheet.Shapes(Graph).ScaleWidth x / ActiveChart.ChartArea.Width, _
msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes(Graph).ScaleHeight y / ActiveChart.ChartArea.Height,
_
msoFalse, msoScaleFromTopLeft
j'ai trouvé si cela intéresse quelqu'un voici le code
Public Sub SaveRangeAsImage()
Dim r As Range Dim x As Integer, y As Integer Dim varFullPath As Variant Dim Graph As String
' selection de la plage par une InputBox Set r = Application.InputBox("Sélectionnez la plage à exporter", _ "Export Image", Selection.AddressLocal, Type:=8)
r.Select ' copie de la plage en format image grâce à .CopyPicture Selection.CopyPicture appearance:=xlScreen, Format:=xlBitmap x = Selection.Width y = Selection.Height
' on utilise l'objet Chart pour sa facilité d'export ' création du graphique Workbooks.Add (1) ActiveSheet.Name = "enGIF" Charts.Add ActiveChart.ChartType = xl3DArea ActiveChart.SetSourceData r ActiveChart.Location xlLocationAsObject, "enGIF" ' le graph n'est là que comme réceptacle de l'image, on le vide avec .ClearContents ActiveChart.ChartArea.ClearContents ' on colle l'image qui réside dans le presse papier ActiveChart.Paste
' redimensionnement ' on récupére le nom du graph de la collection Shapes Graph = Mid(ActiveChart.Name, Len(ActiveSheet.Name) + 1) ' on effectue un redimensionnement ActiveSheet.Shapes(Graph).ScaleWidth x / ActiveChart.ChartArea.Width, _ msoFalse, msoScaleFromTopLeft ActiveSheet.Shapes(Graph).ScaleHeight y / ActiveChart.ChartArea.Height, _ msoFalse, msoScaleFromTopLeft