Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Faire une capture d'écran d'une feuille Excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mike888

XLDnaute Nouveau
Salut !

Je cherche comment réaliser une capture d'écran de ma feuille Excel, en sachant que le contenu de la feuille dépasse vers le bas (donc un bête "print screen" ne m'est pas utile...) ?

Merci !
 
Bonjour Mike888

Voici 😉
VB:
Sub Range_To_Image()
  Dim ObjChrt As Chart
  Dim RngImage As Range
  Dim strFile As String

  On Error GoTo ErrExit
  With ActiveSheet
    Set RngImage = .Range("A1:L150")
    RngImage.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
    strFile = "C:\Users\TOTO\Desktop\Plage.jpg"
    Set ObjChrt = .ChartObjects.Add(RngImage.Left, RngImage.Top, RngImage.Width, RngImage.Height).Chart
    With ObjChrt
        .Parent.Activate
        .ChartArea.Format.Line.Visible = msoFalse
        .Paste
        .Export strFile
        .Parent.Delete
    End With
  End With

ErrExit:
  Set ObjChrt = Nothing
  Set RngImage = Nothing
End Sub

A+
 
Bonjour Mike888, bonjour BrunoM45.
Selection de la zone puis
Accueil / copier / Copier comme image /
Choisir les optios (Bitmap fonctionne généralement mieux) / ok
L'image est dans ton presse papier et tu peux la coller ou tu veux avec un simple Ctrl+V
Cordialement
 
Bonjour à tous


  1. Attention à l'image blanche dans certaines versions et/ou (association excel/windows) récentes la latence du clipboard a triplé depuis 2016
  2. Attention aussi a une éventuelle précédente capture ou image qui se trouverait dans le clip (c'est elle qui sera coller dans le chart pas la capture !!!)
  3. on généralise la base chemin avec environ (ou autres methodes)
  4. le format export en gif est plus net(on le vois quand on zoom fort après sur l'image
VB:
Sub Range_To_Image()
    Dim RngImage As Range, strFile As String
    strFile = Environ("userprofile") & "\Desktop\Plage.gif"    'on exporte en gif c'est plus nette qu'en jpg
    On Error GoTo ErrExit    ' je laisse la gestion d'erreur au cas ou il y aurait une protection par exemple
    With ActiveSheet
        Set RngImage = .Range("A1:L150")
        Application.CutCopyMode = False    ' on vide la memoire au cas ou une precedente capture serait dans le clip( NON GARANTIE !!!!!pas tout le temps effectif seules les apis pourront vider réellement le clip)
        RngImage.CopyPicture    ' on copy en WMF plus rapide
        With .ChartObjects.Add(10, 10, RngImage.Width, RngImage.Height).Chart
            .Parent.Activate
            .ChartArea.Format.Line.Visible = msoFalse
            .Paste
            ' on évite d'avoir une image blanche sur certaines versions d'office récentes en attendant qu'il y est une image collée dans le chart
            Do While .Pictures.Count = 0: DoEvents: Loop
            .Export strFile
            .Parent.Delete
        End With
    End With

ErrExit:
    Set ObjChrt = Nothing
    Set RngImage = Nothing
End Sub
 
Bonjour BrunoM45,

Petite question, et si je veux sélectionner une plage qui sera variable comment je dois faire ?
Explication, c’est un tcd le nombre de colonne sera toujours identique mais les lignes non, du coup j’ai essayé avec :
Range("B5: D5").Select
Range(Selection,Selection.End(xlDown)).Select
Mais ça ne fonctionne pas,
Help me please
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…