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 :

VBA / récupérer une partie de ma capture d'écran keybd_event / vbKeySnapshot


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Par défaut VBA / récupérer une partie de ma capture d'écran keybd_event / vbKeySnapshot
    Bonjour,

    J'ai récupéré le code suivant me permettant de faire une capture d'écran de ma feuille (UserForm).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ' http://excel.developpez.com/faq/?page=PressePapier#Snapshot
    keybd_event vbKeySnapshot, 1, 0&, 0&
    DoEvents
    Ca marche très bien !
    J'ai utilisé ce même code pour faire une capture d'écran de mon graphe (inséré sur un onglet Excel). En fait je fais une capture d'écran de l'onglet.

    malheuresement, je ne désire qu'une partie de cette capture d'écran. Tout le bord de cette image ne m'intéresse pas.

    Je souhaite donc pouvoir récupérer une partie de ma capture d'écran.

    Comment puis je faire SVP ??

    Merci d'avance.
    Ritchie.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    Tu peux utiliser la méthode CopyPicture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Copie le premier graphique de la feuille active
    ActiveSheet.ChartObjects(1).CopyPicture

    bonne soirée
    michel

  3. #3
    Membre confirmé Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Par défaut
    Bonjour,


    Cela ne fonctionne pas (ou alors je n'ai pas compris la méthode à employer).

    Je vais essayer de reformuler mon besoin.

    Je fais une capture d'écran, je sélectionne un onglet de mon classeur Excel, sélectionne une cellule et copie la capture d'écran dans cette cellule;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        keybd_event vbKeySnapshot, 1, 0&, 0&
        DoEvents
     
        Sheets(SHEET_CIBLE).Select
        Range("A25").Select
        ActiveSheet.Paste
    Le problème est que c'est une capture d'écran général d'Excel.
    Je ne souhaite obtenir qu'un élément de cette capture.
    Je souhaite donc pouvoir me positionner sur un point de l'image et faire une nouvelle sélection d'image sur cette image.

    Merci !
    Ritchie.

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Pour reprendre ce que te proposait Silkyroad, apparemment tu souhaites faire une copie image uniquement du graphique, tu peux donc faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    Sheets("FeuilleSource").ChartObjects(1).CopyPicture
    Sheets("FeuilleDestination").Range("A25").PasteSpecial
    End Sub

  5. #5
    Membre confirmé Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Par défaut
    Merci de la réponse, mais il ne s'agit pas du graphique.
    Il s'agit de la boite à outil qui se trouve sur le graphique.

    Comment puis je faire SVP ?
    Ritchie.

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par ritchie23 Voir le message
    Il s'agit de la boite à outil qui se trouve sur le graphique.
    Désolé mais je ne vois pas de quoi tu parles

Discussions similaires

  1. Récupérer une partie d'une adresse (VBA)
    Par jackfred dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/08/2007, 13h12
  2. [VBA]Récupérer une partie du chemin d'un fichier
    Par poivre dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/04/2007, 19h34
  3. [VBA-E]Récupérer une partie d'un nom
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 28/04/2006, 08h38
  4. Récupérer une partie d'une chaine de caractère
    Par Cyborg289 dans le forum Langage
    Réponses: 5
    Dernier message: 07/07/2005, 14h06
  5. Réponses: 2
    Dernier message: 09/10/2004, 20h45

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