Capture d'ecran enregistre dans un fichier

Bonjour à tous,

je sais que le sujet des captures d'écran a plusieurs fois était abordé mais malgré tout ce que je trouve sur les forums, je n'arrive pas à l'adapter à ma problématique et je vous avoue avoir besoin d'un petit coup de pouce.

je cherche à faire une capture d'écran et que celle ci s'enregistre dans un fichier.

vous trouverez ci-joint un fichier exemple.

merci d'avance.

19capture-ecran.zip (382.36 Ko)

Bonjour Le Nen Samuel

Tu peux utiliser ce genre de fonction

Sub CopyRangeToJPG(NameWorksheet As String, RangeAddress As String)
  Dim PictureRange As Range, sPathEnr as String
  Dim ImgW As Integer, ImgH As Integer
  ' Avec ce classeur
  With ActiveWorkbook
    On Error Resume Next
    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
    End If
    ' Copier la plage
    PictureRange.CopyPicture
    ' Mémoriser les dimensions
    ImgW = PictureRange.Width : ImgH = PictureRange.Height
    ' Chemin d'enregistrement
    sPathEnr = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    ' 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 sPathEnr & Application.PathSeparator & "Pomme.jpg", "JPG"
    End With
    .Worksheets(NameWorksheet).ChartObjects(.Worksheets(NameWorksheet).ChartObjects.Count).Delete
  End With
  Set PictureRange = Nothing
End Sub

En l'appelant par

Call CopyRangeToJPG("Pomme", "B3:L30")

A+

Au top ! Merci beaucoup ! Ça fonctionne nickel ! J'ai du enlever le "exit function" qui me bloquait. Mais sans ça, ça fonctionne très bien.

par contre comment je peux faire pour que l'image s'enregistre dans un dossier et pas directement sur le bureau ? J'ai essayé de mettre l'adresse de mon dossier à la place du "desktop" mais ça marche pas.

Re,

Sérieux

L'instruction

CreateObject("WScript.Shell").SpecialFolders("Desktop")

Permet uniquement de trouver le chemin spécial Windows du bureau

Sinon, il suffit de faire (par exemple)

sPathEnr = "C:\Temp"

A+

Encore merci ça fonctionne à merveille.

je viens de réessayer à la maison et cette fois ci je n'est pas pas eu a enlever exit function.

Et je me demandais si c'était possible de faire exactement la même chose mais pour l'intégralité de ce qu' affiche mon écran ?

Sans vouloir abuser de votre gentillesse et de votre temps bien sûr.

Rechercher des sujets similaires à "capture ecran enregistre fichier"