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

Excel Discussion :

Enregistrer une image sur C:\xx\ [XL-2007]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Enregistrer une image sur C:\xx\
    J'ai des fiches Excel (DURANT Paul.xlsm) contenant entre autre Nom (cellule E7), Prénom (cellule I7) et 1 photo (cellules fusionnées L7 :M15).
    Ces fiches sont dans le répertoire c:\Mes documents\Fiches\.
    Après ouverture du fichier "DURANT Paul.xlsm", je voudrais par une macro pouvoir enregistrer la photo (uniquement) au format JPG (suivant la méthode ci-dessous) avec comme nom de fichier l'année en cours et le contenu des cellules Nom et Prénom soit par exemple : 2014/10/05 DURANT Paul.jpg.

    Méthode d'enregistrement d'une image en conservant sa définition d'origine :

    Ouvrir le document Excel contenant l'image exemple : "DURANT Paul.xlsm"
    L'enregistrer au format : Page Web (*.htm;*.html)
    (répondre oui aux questions posées par Excel)
    Dans le répertoire (Fiches) de "DURANT Paul.xlsm" un nouveau dossier est créé : "DURANT Paul_fichiers"
    En ouvrant ce dossier on trouve "Image 00X.png".
    Cette image peut être alors enregistrée au format .JPG dans le dossier Fiches

    La méthode (donnée dans le forum) qui consiste à coller l'image dans un graphique puis de sauver au format image procure une perte de définition de l'image peu acceptable.

    Je n'ai pas trouvé dans le forum quelque chose qui correspond à ma recherche et je n'ai pas suffisamment de connaissance en VBA pour savoir si cela est possible. Dans le doute, quelqu'un pourrait-il m'aider ? Merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    À mon humble avis, la conversion de formats de fichiers d'images n'est absolument pas le point fort d'Excel, ni de VBA d'ailleurs. La voie qui me semble la plus prometteuse est d'utiliser une bibliothèque spécialisée dans la manipulation d'images et pilotable par VBA.

    Je sais qu'il existe la bibliothèque gratuite ImageMagick qui pourrait probablement faire cela

    http://www.imagemagick.org/

    Cependant, il faut être prudent au moment de l'installation et cocher la case pour installer l'activex pour VB6-VBA-VBScript. (Je ne me souviens pas de la formulation exacte.)
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci Clement pour cette réponse.

    A priori ma requête ne semble pas facile a résoudre.
    Je vais m'orienter vers d'autres solutions moins automatisées.

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut bonsoir JJCODO, clementmarcotte et le forum,
    Cafeine a répondu à la question, il y a bien longtemps :

    http://www.developpez.net/forums/d25...f/#post1636854

    Si l'on ne sélectionne pas la plage de cellules manuellement, on peut la fixer directement dans le code ou choisir le nom Excel de l'image.


    Bonne soirée.


    ESVBA

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    On peut aussi regarder par là.


    http://silkyroad.developpez.com/VBA/...geAcquisition/


    P.S. La solution de Caféine est en GIF. Mais comme je n'ai jamais utilisé son composant, je ne sais pas s'il supporte JPEG.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut bonsoir clementmarcotte, JJCODO et le forum
    On peut changer le format assez facilement. Pour du "jpg" :

    1. Suppression du
    2. Et nommage des extensions :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ' export
    varFullPath = Application.GetSaveAsFilename("C:\export-" & Format(Now, "yyyymmddhhnn"), _
                    "Fichiers JPEG (*.jpg), *.jpg")           '*.JPG  pour afficher le bon format
    ActiveChart.Export varFullPath, "JPG"                 '"JPG" pour enregistrer dans le bon format
    ESVBA

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14E] enregistrer une image sur un serveur MySql
    Par Sergeras dans le forum WinDev
    Réponses: 11
    Dernier message: 07/08/2012, 17h21
  2. [AC-2003] Enregistrer une image sur le disque via un cadre d'objet dependant
    Par floriaan60 dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/06/2012, 16h49
  3. Enregistrer une image sur Access depuis VB6
    Par hugnka dans le forum VB 6 et antérieur
    Réponses: 22
    Dernier message: 09/06/2011, 19h34
  4. Enregistrer une image sur un serveur
    Par leyeno dans le forum Flex
    Réponses: 2
    Dernier message: 01/06/2010, 16h05
  5. Enregistrer une image sur le poste client
    Par Abac_Angelique dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/12/2009, 22h49

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