XL 2016 Exportation d'image de la feuille

Didou1

XLDnaute Nouveau
Bonjour le forum,

Voilà je vous expose mon problème j'ai un masque sur Excel qui me sert de saisie avec une mise en page
Jusqu'à maintenant j'avais un code qui me permettait d'exporter ma plage dans un format PDF ce qui me permettait de l'enregistrer directement dans le répertoire de mon disque dur.

Je souhaite maintenant faire la même chose mais le transformer directement en format JPEG.

J'ai trouvé ce code sur Internet que j'ai adapté, le problème c'est qu'à l'ouverture du graphe il y a des informations qui apparaît
des axes
un quadrillage
une légende
Et un titre du graphique courbe


Auriez-vous une idée à ma portée pour modifier ce code

Merci de votre aide

Public Function ExporterPlageCommeImage2(PlageAExporter As Range, LignesDeGrille As Boolean, FichierImage As String)

On Error GoTo FonctionErreur


PlageAExporter.CopyPicture Appearance:=xlScreen, Format:=xlPicture


With ActiveSheet.ChartObjects.Add(Left:=PlageAExporter.Left, Top:=PlageAExporter.Top, _
Width:=PlageAExporter.Width, Height:=PlageAExporter.Height)

.Name = "ExportImage"
.Activate
End With

ActiveChart.Paste
ActiveSheet.ChartObjects("ExportImage").Chart.Export FichierImage
ActiveSheet.ChartObjects("ExportImage").Delete


Exit Function
FonctionErreur:
MsgBox "Une erreur est survenue..."
End Function

Sub ExempleExportImage()

Application.ScreenUpdating = False
On Error GoTo ExportErreur

Dim Plage As Range
Dim FichierImage As String
Dim AfficherGrilles As Boolean

Set Plage = Workbooks("MENU.xlsb").Sheets("MENU").Range("Q1:T39").Cells
FichierImage = "C:\Users\MonImageExcel.jpg"
AfficherGrilles = True
Workbooks("MENU.xlsb").Activate
ExportFichier = ExporterPlageCommeImage2(Plage, AfficherGrilles, FichierImage)

Application.ScreenUpdating = True
Exit Sub
ExportErreur:
MsgBox "Une erreur est survenue..."
Application.ScreenUpdating = True
End Sub
 

patricktoulon

XLDnaute Barbatruc
bonjour
exemple avec boite de dialogue saveAs
VB:
Sub test()
    exportRangeToJpg Feuil1.[c5:E18]
End Sub

Private Sub exportRangeToJpg(Rng)
    Dim chemin
    Application.ScreenUpdating = False
    chemin = Application.GetSaveAsFilename(InitialFileName:=CurDir, filefilter:="image Files (*.jpg), *.jpg", Title:="ENREGISTREMENT DE LA CAPTURE")
    If chemin <> False And Not Rng Is Nothing Then
             Rng.CopyPicture
            Set chart1 = Rng.Parent.ChartObjects.Add(0, 0, Rng.Width, Rng.Height).Chart
            With chart1
                With .Parent
                    T = Timer: Do: DoEvents: Loop While Timer - T < 1
                    .Chart.Paste
                    Do: DoEvents: Loop While .Chart.Pictures.Count = 0
                     .Chart.Export chemin, "jpg"
                    .Delete
                End With
            End With
          End If
End Sub
 

Didou1

XLDnaute Nouveau
Bonjour PatrickToulon

Je viens de tester ton code adapté à mon fichier il me bloque excel

J'ai lancé le code pas à pas, Il bloque sur cette ligne

Capture.JPG
 

Didou1

XLDnaute Nouveau
Effectivement c'est un mystère
Je viens de tester sur une autre machine avec Excel 2019 même problème
Je suis obligé de réinitialiser la macros pour qu'elle s'arrête

Et voilà ce qui apparaît après sur la feuille
les mêmes problèmes que je retrouve avec mon code sur ligne série etc.
Capture.JPG
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 185
dernier inscrit
salhit