Microsoft 365 Enregistrer les images dans un dossier

  • Initiateur de la discussion Initiateur de la discussion Simon 1234
  • Date de début Date de début

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 !

Simon 1234

XLDnaute Junior
Bonjour
J'ai repiqué ce bout de code, il fonctionne mais je ne vois pas de mention Path comme d'habitude. Je souhaite qu'il enregistre la sélection sous forme d'un JPEG seul et dans un chemin prédéfini. Il ne fait que la moitié du boulot et je n'ai pas trouvé comment faire.

1-Il n'enregistre pas mais ouvre la boite 'enregistrer sous' alors que je souhaite qu'il enregistre seul
2-Je ne vois pas comment indiquer dans le code le chemin où enregistrer

D'avance merci aux coups de pouce 👍

Voici le code en question:
VB:
Sub FICHAT_SAVE_IMAGE()

    Application.ScreenUpdating = False
    On Error GoTo ExportErreur

    Dim Plage As Range
    Dim FichierImage As Variant
    Dim NomImage As Variant
    NomImage = [AK4].Value 'récupérer le nom sur la fiche
    NomImage = Mid(NomImage, 2, 12) 'retirer les balises
    

    Set Plage = Range("A13:BE55").Cells
    Plage.CopyPicture Appearance:=xlScreen, Format:=xlPicture

    With ActiveSheet.ChartObjects.Add(Left:=Plage.Left, Top:=Plage.Top, Width:=Plage.Width, Height:=Plage.Height)
        .Name = "ExportImage"
        .Activate
    End With
    ActiveChart.Paste
    FichierImage = Application.GetSaveAsFilename(InitialFileName:=NomImage & ".jpg", FileFilter:="Image file (*.jpg), *.jpg")
    
    If FichierImage <> False Then
        ActiveSheet.ChartObjects("ExportImage").Chart.Export FichierImage
    End If
    
    ActiveSheet.ChartObjects("ExportImage").Delete
    Application.ScreenUpdating = True
    Exit Sub
    
ExportErreur:
    MsgBox "Une erreur est survenue..."
    Application.ScreenUpdating = True
End Sub
 
Bonjour

si le path n'est pas spécifié dans le code, et que ca fonctionne bien... c'est que le path est pris par défaut..
lequel..??? à toi de le dire, c'est ton pc

sinon. si tu veux le spécifier.. bah.. il suffit sans doute de l'ajouter: un truc comme ca?

VB:
chemin="ton path\"

FichierImage = Application.GetSaveAsFilename(InitialFileName:=chemin &NomImage & ".jpg", FileFilter:="Image file (*.jpg), *.jpg")

sinon.. un coup de d'aide F1 sur "GetSaveAsFilename" devrait t'orienter
 
Bonjour vgendron

C'est bien ça, ça semble facile maintenant ^^
J'ai regardé le F1 mais ça ne m'a pas aidé des masses; j'ai compris par contre que GetSaveAsFilename ouvre la fenêtre 'enregistrer sous' mais ne permet pas d'enregistrer directement sans mon intervention. Peut-être que l'on ne peut pas? On peut le faire avec des PDF, toutes formes de xls mais pas un dessin?
 
Bonjour à toutes et tous,
Je reprends cette discussion déjà un peu ancienne car elle répond partiellement à mon problème.
J'aurais souhaité que l'image s'enregistre directement dans "mon path\" sans avoir besoin de valider.
Par avance merci pour votre aide
 
Bonjour Jouxte, le fil,

Dans la macro du post #1 remplacez le code :
VB:
    FichierImage = Application.GetSaveAsFilename(InitialFileName:=NomImage & ".jpg", FileFilter:="Image file (*.jpg), *.jpg")
    If FichierImage <> False Then
        ActiveSheet.ChartObjects("ExportImage").Chart.Export FichierImage
    End If
par cette seule ligne :
VB:
    ActiveSheet.ChartObjects("ExportImage").Chart.Export ThisWorkbook.Path & "\MonImage.jpg"
Enregistrez le fichier contenant la macro où vous voulez et exécutez la macro.

Le fichier JPEG sera créé dans le même dossier.

A+
 
- 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

Retour