IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Exporter le contenu d'une cellule dans un dossier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Par défaut Exporter le contenu d'une cellule dans un dossier
    Bonjour,

    J'ai dans une cellule une photo et je souhaite l'exporter dans un dossier en lui donnant un nom particulier. Chose que j'ai réussi à faire (après multiples tentatives laborieuses ^^).

    Mon problème est le suivant : l'image exportée perd beaucoup en qualité et des bordures apparaissent lors de son exportation ....
    Je souhaite qu'il n'y ai pas de bordures et que l'image reste en jpeg !


    D'avance merci pour vos réponses et voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub generer()
     Dim Plage As Range
     Dim Area As String
     Set Plage = Range("G8")
     Area = InputBox("Entrez le nom de l'actif", "Nom")
     Application.ScreenUpdating = False
     Workbooks.Add: Plage.CopyPicture: ActiveSheet.Paste
     With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
     .Paste
     .Export ThisWorkbook.Path & "\" & Area & " - PlanComparables" & ".jpeg", "jpeg"
    End With
     ActiveWorkbook.Close False
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'ai revu ton code et pas besoin de créer un autre classeur temporaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub Generer()
    Dim Plage As Range
    Dim Area As String
     
    Application.ScreenUpdating = False
    Area = InputBox("Entrez le nom de l'actif", "Nom")
    If Area <> "" Then
        With Feuil9
            Set Plage = .Range("G8")
            With Plage
                .Borders.LineStyle = xlNone
                .CopyPicture
                .Borders.LineStyle = xlContinuous
            End With
     
            With .ChartObjects.Add(0, 0, Plage.Width - 1, Plage.Height - 1)
                With .Chart
                    .Paste
                    .Export ThisWorkbook.Path & "\" & Area & " - PlanComparables.jpeg", "jpeg"
                End With
                .Delete
            End With
            Set Plage = Nothing
        End With
    End If
    End Sub
    Pour la qualité, je ne saurai répondre

  3. #3
    Membre habitué
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Par défaut
    Merci pour le code!

    J'ai modifié le feuil9 par ma feuille active...

    Mais ca met toujours les bordures...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2012
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 94
    Par défaut
    essaye de rajouter ça avant le .paste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ChartArea.Border.LineStyle = xlNone
    Pour ce qui est de la qualité d'image, j'ai peur que l'on ne puisse pas avoir mieux avec les fonctions de bases de vba. J'ai vu qu'il existait une librairie pour manipuler les images (gdiplus.dll si je me souvient bien), il faudrait se renseigner de ce côté si tu tiens vraiment à améliorer la qualité, il faut l'avouer, assez moyenne d'Excel.

  5. #5
    Membre habitué
    Inscrit en
    Mai 2013
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 12
    Par défaut
    merci beaucoup ça fonctionne, il n'y a plus de bordures!

    cependant toujours un problème de qualité... des idées ?

Discussions similaires

  1. Export du contenu d'une listbox dans un fichier texte
    Par GCAccess dans le forum VBA Word
    Réponses: 10
    Dernier message: 07/11/2008, 00h46
  2. contenu d'une cellule dans une formule
    Par aweb dans le forum Excel
    Réponses: 4
    Dernier message: 17/09/2008, 12h12
  3. Utiliser le contenu d'une cellule dans un if
    Par bablight dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/08/2007, 15h02
  4. recuperer le contenu d'une cellule dans un DGView
    Par thierry007 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/04/2007, 12h46
  5. Copier le contenu d'une cellule dans une variable sous excel
    Par franckB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/04/2007, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo