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 :

capture d'un userform bien preci [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut capture d'un userform bien preci
    bonjour


    j'ai récupéré ça dans la FAQ et sa fonctionne très bien
    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
     
     
    Option Explicit
     
    Private Declare Sub keybd_event Lib "user32" ( _
        ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, _
        ByVal dwExtraInfo As Long)
     
    Private Sub commandButton1_Click()
        keybd_event vbKeySnapshot, 1, 0&, 0&
        DoEvents
     
        Range("A1").Select
        ActiveSheet.Paste
    End Sub

    le soucis c'est que moi j'ai plusieurs usf a l'écran alors des fois dans la capture j'ai tout les userforms c'est un peu embêtant
    alors ma question est :
    y a t il un moyen par exemple de mettre le handle d'un userform bien précis dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     keybd_event vbKeySnapshot, 1, 0&, 0&
    a quoi correspondent les deux "0&" dans la commande

    merci d'avance


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     keybd_event vbKeySnapshot, X, 0&, 0&
    correspond exactement à faire la touche clavier: Imprime écran
    X=0: Imprime écran entier
    X=1: Imprime écran de la fenêtre active

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    bonjour Mercatog

    merci pour ta réponse rapide

    je voudrais savoir maintenant a quoi correspondent les deux "0&" sur tout qu'en début de module dans la déclaration de l'api il y en a 4

    puisque la première variable a "1" désigne la fenêtre active
    est ce que si je lui met le handle a la place trouver par le findwindowA
    ça fonctionnerais


    merci au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    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
    Je crois que c'est non
    une explication trouvée sur le net
    Fonction keybd_event

    Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( _
    ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)

    Description :
    Cette API permet de simuler des frappes au clavier tout comme vous le feriez.
    bVk est le code ascii de la touche à envoyer au buffer clavier.
    bScan est utilisé pour définir l'action de certaines touches spéciales comme "Imprime écran".
    dwFlags est l'évènement que l'on souhaite génèrer comme KeyUp ou l'utilisation des touches étendues sur les claviers spéciaux.
    dwExtraInfo permet d'ajouter une valeur supplémentaire à la touche actionnée.
    Je pense que tu dois activer d'abord l'userform en question, ensuite lancer la fonction keybd_event

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    ok merci Mercatog

    dans ce cas la puisque le "dwExtraInfo" serai une fonction supplémentaire pour quoi pas lui attribuer une variable désignant le usf

    enfin c'est une idée


    après j'avais trouvé sur ce site je ne sais plus ou la possibilité de faire une capture en fonction d'un userform

    je ne trouve plus ce lien

    pourrais tu m'aider a ce sujet


    merci a toi

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    Tu sais déjà déterminer le hwnd d'une fenêtre.

    Je pense que tu trouveras là toutes les possibilités qui s'offrent à toi :
    http://support.microsoft.com/kb/161299
    L'adaptation pour VBA est simple.

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

Discussions similaires

  1. Job s'execute automatiquement à un temp bien precis
    Par ensatTetouan dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 11/04/2012, 18h33
  2. Pb avec CreateProcessAsUser dans un cas bien precis
    Par kassimsarr dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 14/11/2011, 01h26
  3. [XSLT] - Ajouter à noeud à un endroit bien precis
    Par jacquesh dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/03/2008, 22h01
  4. Réponses: 1
    Dernier message: 13/08/2007, 12h47
  5. Réponses: 15
    Dernier message: 06/04/2006, 12h05

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