Bonjour,

Comme certains l'ont surement constaté, je suis dans le copier/coller ces temps ci. Tout fonctionne pour le collage mais j'ai un problème au niveau du copiage. Je dois exécuter cette macro deux fois de suite pour avoir quelque chose dans ma variable sClipBoard.
Voici le 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
Sub CTEST()
    Dim sClipBoard As String
    Dim sToSend As String
 
'    Call ViderPressePapier
    Call subInitialisation
    Call subDEVAReactivate
    sToSend = "^c"
    subEnvoyerKeys sToSend
    With New DataObject
        .GetFromClipboard
        sClipBoard = .GetText(1)
    End With
 
    MsgBox sClipBoard
 
End Sub
Ma fonction ViderPressePapier envoye "" dans le ClipBoard mais je l'utiliserai plus tard lors d'une boucle.

subInitialisation et subDEVAReactivate fonctionne bien.

Et voici subEnvoyerKeys :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub subEnvoyerKeys(KeysTo As String)
    objDEVA.SendKeys KeysTo
End Sub
Dans ce code, j'envoie "^c" pour simuler les touches Ctrl+c pour le copie.
Si je remplace "^c" par "123", je voie bien que mon champ reçoit bien "123"

Ma question est simple (c'est probablement la réponse qui sera moins simple) Pourquoi dois-je exécuter ma macro deux fois tandis que je sais qu'avec 123 tout fonctionne du premier coup?

Merci encore!