Bonjour,
J'ai un petit PB d'enregistrement d'image issue d'une feuille excel dont la taille est de Width : 1200 et Height : 1640
Tout se passe normalement mais il ne m'enregistre que la partie que je vois à l'écran.
J'ai tout essayé sans succès, quelqu'un à une solution ?
Merci
voilà 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
 
Sub ExportImage()
    Dim f As Worksheet, img As Shape, nomShape As String, nomImg As String
    Dim Emplacement As Range
' L'image est déjà sélectionnée au départ
'
    répertoire = "Macintosh HD:Users:PATRICK:MonDomaine:ImagesExcel"
    Set f = ActiveSheet
    If Left(TypeName(Selection), 7) = "Picture" Then
' Nom de l'image
        nomShape = Selection.Name
' Nom du ficher à enregistrer
        nomImg = "ImagesExcel-170399"
    Else
        MsgBox "Vous n'avez pas sélectionné d'image.", vbInformation, "Erreur de sélection"
    End If
' Stockage de l'image
    Set img = f.Shapes(nomShape)
    Hauteur = f.Shapes(nomShape).Height
 
' Copie
    img.CopyPicture
 
' Paste de l'image copiée avec création d'un graphique
    f.ChartObjects.Add(0, 0, img.Width, Hauteur).Chart.Paste
 
' Enregistrement
    f.ChartObjects(1).Chart.Export Filename:=répertoire & ":" & nomImg & ".png", FilterName:="png"
 
' Suppression du graphique
    f.ChartObjects(1).Delete
End Sub