Probleme chargement presse papier depuis Windows 8.1

treza88

XLDnaute Occasionnel
Bonjour a tous

Dans un code VBA qui fonctionnait sous windows XP je chargeais le presse papier avec le code suivant, depuis que je l'utilise sous windows 8.1 ça bug, le contenu du presse papier ne correspond pas aux données de ma variable.
Je me retrouve avec un contenu de presse papier contenant deux carré comme on peut les trouver dans les codes ascii, mais ça m'est arrivé de voir également deux points d'interrogation, genre: ??

Code:
Dim LongPx, LargPx As integer    
Dim MyData As New DataObject      
MyData.SetText LongPx    
MyData.PutInClipboard    
WshShell.SendKeys "^v", True

Est ce que quelqu'un aurait une idée pour resoudre ce probleme?
Merci d'avance
 

MJ13

XLDnaute Barbatruc
Re : Probleme chargement presse papier depuis Windows 8.1

Bonjour Treza

As tu testé ce lien?

Ce lien n'existe plus

Le sendkeys peut poser des problèmes dans certains cas (ne jamais utiliser Sendkeys en débogage).
 

treza88

XLDnaute Occasionnel
Re : Probleme chargement presse papier depuis Windows 8.1

Bonjour MJ13,

Je ne peux pas utiliser cette methode car je ne colle pas dans excell, mais dans un textbox d'un autre logiciel d'ou l'utilisation du sendkey.
Mais il y a peut etre une autre methode que le sendkey?
 

MJ13

XLDnaute Barbatruc
Re : Probleme chargement presse papier depuis Windows 8.1

Re

Ce problème m'intéresse, mais cela n'a pas l'air simple.

Car le ctrl v dans un autre logiciel fonctionne mais pas en sendkeys.

Voir peut-être avec un fichier VBS.
 

treza88

XLDnaute Occasionnel
Re : Probleme chargement presse papier depuis Windows 8.1

Pour info MJ13, voici mon code complet utilisant des senkeys qui fonctionne, jusqu'au ctrl v.
Si des fois ça te fait penser a quelque chose.

Code:
Set WshShell = CreateObject("WScript.Shell")


   WshShell.SendKeys "%f", True
   WshShell.SendKeys "i", True
    Sleep 10
    WshShell.SendKeys " ", True
    WshShell.SendKeys "{tab 3}", True
    WshShell.SendKeys "~", True
    Sleep 600
    WshShell.SendKeys NomFichier, True
    WshShell.SendKeys "~", True
    Sleep 10
    WshShell.SendKeys "{tab 3}", True
    WshShell.SendKeys "~", True


    If LongPx = 0 Then
        Exit Sub
    End If
    
    Sleep 10
    MyData.SetText LongPx
    MyData.PutInClipboard
    WshShell.SendKeys "^v", True


    WshShell.SendKeys "{tab}", True
    Sleep 10
    MyData.SetText LargPx
    MyData.PutInClipboard
    WshShell.SendKeys "^v", True
 

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 197
dernier inscrit
john49