Autres excel vba --> sauvegarder le dessin d'une feuille sur le disque dur

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 !

bernard_metz

XLDnaute Nouveau
Bonjour

J'ai ce code mais il ne fonctionne que lorsque j'interrompt la macro et que je la relance... Si j'effectue la macro d'une seule fois, EXCEL n'a pas le temps de copier le dessin du presse papier dans le graphique

La fonction Doevents n'est pas suffisante non plus

Sub EnregistrerImageFeuille()
Dim ws As Worksheet
Dim chemin As String
Dim nomFichier As String
Dim chartObj As ChartObject

' Définir la feuille de calcul que vous souhaitez enregistrer
Set ws = ThisWorkbook.Sheets("DESSIN-F") ' Remplacez par le nom de votre feuille

' Définir le chemin et le nom du fichier
chemin = ThisWorkbook.Path
nomFichier = "ESSAI.jpg"

ActiveSheet.Shapes.Range(Array("EXT", "INT", "PARC", "VIT")).Select
Selection.ShapeRange.Group.Select
Selection.Name = "ESSAI"

Set chartObj = ws.ChartObjects.Add(Left:=0, Top:=0, Width:=ws.Shapes("ESSAI").Width, Height:=ws.Shapes("ESSAI").Height)
ws.Shapes("ESSAI").CopyPicture 'Appearance:=xlScreen, Format:=xlPicture

chartObj.Chart.Paste

' mettre le croquis dans le formulaire
Dim tempFilePath As String
tempFilePath = Environ("TEMP") & "\tempChart.png"
Set chartObj = ThisWorkbook.Worksheets("DESSIN-F").ChartObjects(1)
chartObj.Chart.Export Filename:=tempFilePath, FilterName:="jpg"
Me.DF_CROQUIS_FENETRE.Picture = LoadPicture(tempFilePath)

' Supprimer les objets inutiles
chartObj.Delete
ws.Shapes("ESSAI").Delete

End Sub
 
- 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

Réponses
1
Affichages
475
Réponses
0
Affichages
387
Retour