Enregistrer sous une image creer par macro sous Excel

dealise

XLDnaute Junior
Bonjour a tous !

Je suis actuellement bloqué sur un problème, en effet j'ai réussi a créer une image.jpg d'une plage de donnée. J'aimerai ensuite qu'une boite de dialogue s'ouvre pour me demander ou je souhaite enregistrer mon image créé...

J'arrive actuellement a enregistrer a un endroit donnée mon image mais pas a faire apparaître la fenêtre "enregistrer sous"...

Je vous met mon code.
Je souhaiterai également qu'il me supprime l'image creer qui est dans mon fichier excel...

Merci beaucoup par avance !!!

Code:
Sub image()
    sheets(1).Range("A7:F27").CopyPicture
    'L'image est collée dans la feuille active
    sheets(1).Paste
   
    Application.ScreenUpdating = False

With ActiveSheet.ChartObjects.Add(0, 0, _
	Selection.Width, Selection.Height).Chart
	.Paste
	.Export "C:\Mes_documents\test\Jour".jpg", "jpg" 'ici je souhaiterais que la boite de dialogue s'ouvre pour me demander ou enregistrer l'image...
	sheets(1).ChartObjects.Delete
End With
    
End Sub
 
C

Compte Supprimé 979

Guest
Re : Enregistrer sous une image creer par macro sous Excel

Salut Dealise,

Pas mal vu comme petit code, je le garde dans mes tablettes ;)

Pour ce qui te concerne, voici la modification
Code:
Sub SauvegardePlageEnImage()  Dim Fd As FileDialog, sPath As String
  ' Empècher le rafraischissement écran
  Application.ScreenUpdating = False
  ' Copier la plage de donnée de A7 à F27
  Sheets(1).Range("A7:F27").CopyPicture
  'L'image est collée dans la feuille active
  Sheets(1).Paste
  ' Demander le chemin de sauvegarde
  Set Fd = Application.FileDialog(msoFileDialogFolderPicker)
  With Fd
    If .Show = -1 Then
      sPath = .SelectedItems.Item(1) & "\"
    End If
  End With
  If sPath <> "" Then
    With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
      .Paste
      .Export sPath & "Jour.jpg", "jpg"  'ici je souhaiterais que la boite de dialogue s'ouvre pour me demander ou enregistrer l'image...
    End With
    ActiveSheet.ChartObjects.Delete
  End If
  ActiveSheet.Shapes(1).Delete
  ' Activer le rafraischissement écran
  Application.ScreenUpdating = True
End Sub

A+
 
Dernière modification par un modérateur:

chtibordelais

XLDnaute Nouveau
Re : Enregistrer sous une image creer par macro sous Excel

Bonjour BrunoM45, Bonjour Dealise,

Je sais que la discussion date un peu. Je recherche justement la possibilité de créer un petit bouton pour faire cela facilement. Je me suis largement inspiré de votre contribution, je vous en remercie infiniment, mais je rencontre un problème sous Excel 2010.

J'ai créé un bouton 'enregistrer' (hors zone de sélection) et j'y ai affecté la fameuse macro. La boîte de dialogue me demande d'ouvrir un dossier d'enregistrement, jusque là normal. Mais quelque soit le dossier que j'ouvre (exemple 'bureau', lorsque je clique sur OK, la sélection se colle en image dans mon fichier xlsm d'origine... et non dans un fichier .JPG

Je suis sûr que cela peut en intéresser plus d'un. Je vous remercie beaucoup si vous connaissez la petite astuce.

Respectueusement,
Chtibordelais
 
C

Compte Supprimé 979

Guest
Re : Enregistrer sous une image creer par macro sous Excel

Bonjour Chtibordelais ;-)

Si tu as bien gardé tout le code,
il est normal que dans un premier temps la copie se fasse dans une image dans le classeur
Ensuite cette image est copié/collé dans un pseudo graphique
Ce graphique est enregistré dans le chemin choisi
Ensuite tous les objets sont supprimés de la feuille

A+
 

Discussions similaires

Réponses
39
Affichages
4 K

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50