VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

  • Initiateur de la discussion Initiateur de la discussion Bougla972
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bougla972

XLDnaute Occasionnel
Bonjour le forum,

Je cherche à copier l'image d'un Userform et la coller dans une feuille à l'aide de l'API "vbKeySnapshot ".

Beaucoup de fils traitent de ce sujet; cependant, la méthode "Paste" bug, je pense que c'est lié à la fontion "Doevents" mais je n'en suis pas sûr...

Un petit exemple joint pour illustrer ma demande.

Merci d'avance pour votre contribution.
 

Pièces jointes

Re : VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

Bonjour,

Sous XL2003, le seul problème rencontré, si on lance une deuxième copie de l'USF, est la "re-création" de la feuille "Capture" qui existe déjà (avec l'image de l'USF).

Bonne suite
 
Re : VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

Bonjour Paf,

Ok pour la gestion de la "re-création" de la feuille "Capture"...

Cepandant, la macro bug sur l'instruction "Paste"

Prb_Paste.png

Est-ce lié au fait que l'appli Xl n'ait plus active ?
 
Re : VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

Bonsoir Hasco,

Merci de t'être pencher sur mon problème....
Je ne recontre aucun problème lorsque le presse papier contient déjà au moins une image....et si c'est le cas il me copie la première image issus du presse papier. Du coup, il ne me copie pas la bonne image...😡 Un vrai casse tête , j'ai beau éplucher les différents fils du forum traitant de ce sujet, pas de sollution en vu...🙁

Si tu peux faire l'essai en supprimant le contenu du presse papier et de retenter la procédure, tu auras le même type d'erreur...

Merci d'avance.
 
Re : VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

Bonjour tout le monde, salut à l'ami Hasco,
Je cherche à copier l'image d'un Userform et la coller dans une feuille à l'aide de l'API "vbKeySnapshot ".
vbKeySnapshot n'est pas une API, c'est la clé identifiant la touche imprime écran qui doit être utilisée dans le 1er argument de l'API keybd_event.

Pour ma part j'ai testé comme cela et cela fonctionne chez moi (c'est bien la dernière image copiée qui est collée) :
Code:
Private Declare Sub keybd_event Lib "user32" _
(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton2_Click()
    keybd_event vbKeySnapshot, 1, 0&, 0&
    DoEvents
    Unload Me
    Sleep 100
    With Sheets(2)'à adapter à la feuille que tu veux
      .Activate
      .Range("A1").Select
      .Paste
    End With
End Sub
Code à placer dans le UserForm.
A+
 
[Résolu] : VBA Utilisation API vbKeySnapshot => Problème avec Dovents ?

Bonsoir David, le forum,

Désolé pour la réponse tardive...pris par le taf !!
Effectivement David, ta méthode fonctionne parfaitement...Un grand grand merci à toi !! 😀
D'autant que je pensais ne pas avoir de solution à mon problème 😱

Est-ce l'instruction "Sleep 100" qui fait la différence ?

Merci encore et bon week end de Pacques
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour