Enregistrement d'une feuille en format BMP ou JPG

Bonjour à tous,

Je suis plutôt novice en VBA, mais j'essaye toujours de me débrouiller.

Actuellement je suis bloquer sur un programme.

J'arrive à enregistrer une feuille en pdf sans problème

Je pensais pouvoir faire une simple rectification de cette formule afin d'obtenir mon document en BMP ou JPG mais impossible....

Sub Enregistrer_pdfAI()

 Dim LeRep As String

 Dim oCdo As Object

 ActiveSheet.PageSetup.PrintArea = "PLAGE1"

 LeRep = "U:\" 

 ' à adapter à l'emplacement ou tu souhaites enregistrer tes fichier PDF 

 'ici à la place de : ThisWorkbook.Path & "\" tu mets par exemple d:\EAP\ 

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ LeRep & Range("M4").Value & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, OpenAfterPublish:=False End Sub

Avez vous des solutions à m'apporter ?

Ma plage est la suivante A1:V73

Lien d'enregistrement du fichier : U:\

Nom du fichier : M4

Bonjour Quentin D et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Ainsi que sur les fonctionnalités du nouveau forum

Merci de votre participation

Concernant votre demande, voici une solution de code

Sub CopyRangeToJPG(NameWorksheet As String, RangeAddress As String)
  Dim PictureRange As Range, ImgW As Single, ImgH As Single
  Dim sPath As String, sFic As String
  ' Définir le chemin d'enregistrement
  sPath = Environ$("temp") & Application.PathSeparator
  ' Définir le nom
  sFic = "NamePicture.jpg"
  ' Avec le classeur actif
  With ActiveWorkbook
    On Error Resume Next
    '.Worksheets(NameWorksheet).Activate
    Set PictureRange = .Worksheets(NameWorksheet).Range(RangeAddress)
    If PictureRange Is Nothing Then
      MsgBox "Désolé, mais la plage n'est pas correcte"
      On Error GoTo 0
      Exit Sub
    End If
    ' Copier la plage
    PictureRange.CopyPicture
    ' Mémoriser les dimensions
    ImgW = PictureRange.Width
    ImgH = PictureRange.Height
    ' Créer un graphique vide et y coller l'image
    With .Worksheets(NameWorksheet).ChartObjects.Add(PictureRange.Left, _
      PictureRange.Top, PictureRange.Width, PictureRange.Height)
      .Activate
      .Chart.Paste
      .Chart.Export sPath & sFic, "JPG"
    End With
    .Worksheets(NameWorksheet).ChartObjects(.Worksheets(NameWorksheet).ChartObjects.Count).Delete
  End With
  Set PictureRange = Nothing
End Sub

Que vous pouvez appeler par

Call CopyRangeToJPG(ActiveSheet.Name, "PLAGE1")

A+

Rechercher des sujets similaires à "enregistrement feuille format bmp jpg"