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 :

Enregistrement partielle d'une image et non totale ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 93
    Points : 52
    Points
    52
    Par défaut Enregistrement partielle d'une image et non totale ?
    Bonjour,
    J'ai un petit PB d'enregistrement d'image issue d'une feuille excel dont la taille est de Width : 1200 et Height : 1640
    Tout se passe normalement mais il ne m'enregistre que la partie que je vois à l'écran.
    J'ai tout essayé sans succès, quelqu'un à une solution ?
    Merci
    voilà mon code
    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
    27
    28
    29
    30
    31
    32
     
    Sub ExportImage()
        Dim f As Worksheet, img As Shape, nomShape As String, nomImg As String
        Dim Emplacement As Range
    ' L'image est déjà sélectionnée au départ
    '
        répertoire = "Macintosh HD:Users:PATRICK:MonDomaine:ImagesExcel"
        Set f = ActiveSheet
        If Left(TypeName(Selection), 7) = "Picture" Then
    ' Nom de l'image
            nomShape = Selection.Name
    ' Nom du ficher à enregistrer
            nomImg = "ImagesExcel-170399"
        Else
            MsgBox "Vous n'avez pas sélectionné d'image.", vbInformation, "Erreur de sélection"
        End If
    ' Stockage de l'image
        Set img = f.Shapes(nomShape)
        Hauteur = f.Shapes(nomShape).Height
     
    ' Copie
        img.CopyPicture
     
    ' Paste de l'image copiée avec création d'un graphique
        f.ChartObjects.Add(0, 0, img.Width, Hauteur).Chart.Paste
     
    ' Enregistrement
        f.ChartObjects(1).Chart.Export Filename:=répertoire & ":" & nomImg & ".png", FilterName:="png"
     
    ' Suppression du graphique
        f.ChartObjects(1).Delete
    End Sub

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 93
    Points : 52
    Points
    52
    Par défaut
    Alors, personne ne peut m'expliquer pourquoi mon image est tronquée et n'y a-t-il pas une option pour un enregistrement correct ?

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Alors, personne ne peut m'expliquer pourquoi mon image est tronquée et n'y a t'il pas une option pour un enregistrement correct ?
    Tu es ici dans la section Excel, dont les visiteurs ne pratiquent pas forcément VBA (ce dont tu te sers)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Ah !
    Te voilà maintenant dans la section VBA (ou j'ai eu la berlue, ou quelque-chose s'est produit)
    As-tu essayé d'utiliser la propriété PictureSizeMode de ton contrôle image ?
    Ou encore de jouer avec sa propriété Autosize ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 93
    Points : 52
    Points
    52
    Par défaut
    Bonsoir unparia,
    "PictureSizeMode", Tu l'appliques comment ?
    Je veux juste que ma macro me sauvegarde l'intégralité de mon image dans un fichier.
    J'ai fait beaucoup d'essais et en fait c'est bien la partie que j'ai à l'écran qui s'enregistre.
    J'ai bien pensé à déZoomer le plus possible mais bien entendu la qualité diminue énormément.
    C'est vraiment pas terrible pourtant quand je clique droit sur l'image et que je l'enregistre avec la procédure c'est nickel.
    Dommage que l'on ne puisse pas faire un enregistrement automatique, l'emploi du clic droit n'apparait pas dans les macros.

    c'est rageant de ne pas pouvoir y arriver.

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par unparia Voir le message
    Te voilà maintenant dans la section VBA (ou j'ai eu la berlue, ou quelque-chose s'est produit)
    Salut Jacques !
    Non tu n'as pas eu la berlue, la discussion a bien été créée à l'origine dans le forum dédié aux formules de feuille de calculs …
    Bonne soirée et bon dimanche à tous !

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. [Toutes versions] Publispostage "enregistrement suivant" vers une colonne et non une ligne
    Par alshjv dans le forum Word
    Réponses: 3
    Dernier message: 10/03/2011, 15h20
  2. Afficher une image gif (non animée)
    Par Figolu dans le forum Qt
    Réponses: 5
    Dernier message: 23/07/2009, 13h16
  3. réduire la taille d'une image gif non animé
    Par simodsio dans le forum Imagerie
    Réponses: 1
    Dernier message: 25/02/2009, 02h27
  4. [Upload] Enregistrer chemin d'une image dans ma BDD
    Par Erwan M. dans le forum Langage
    Réponses: 6
    Dernier message: 02/04/2008, 15h45
  5. [FLASH 8] vu partielle sur une image
    Par rteuteu55 dans le forum Flash
    Réponses: 3
    Dernier message: 24/07/2007, 20h55

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