1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Dim nm As String
Dim nm1 As String
sub test()
nm = Sheets("Feuil1").Range("d10").Value 'je copie nm dans une variable pour l'essai mais la source pourra être un texte issue d'une variable
nm1 = Sheets("Feuil1").Range("d11").Value 'je copie nm dans une variable pour l'essai mais la source pourra être un texte issue d'une variable
Clipboard (nm) 'mis dans le presse papier
Application.OnKey "^v", "test2" 'j'attends que l'utilisateur appui sur touche CTRL + V qui est le déclencheur, test2 est la macro appelé et ainsi je colle le 2ieme
'pour les touches de fonction : "{ }" alors que les autres touches " "
End Sub
Sub test2()
Application.SendKeys "{TAB}", True 'je tabule sur le clavier
Clipboard (nm1) 'je place la 2ieme donnée dans le presse papier
Application.SendKeys "^v", True 'je réalise CTRL + V pour coller le presse papier
Application.OnKey "^v", "" 'je réalise l'arrêt de onkey
End Sub
Function Clipboard(Optional StoreText As String) As String
'Pour copier Clipboard ActiveCell
'Pour coller MsgBox Clipboard
Dim x As Variant
x = StoreText 'Stocker comme variante pour la prise en charge de VBA 64 bits
'Créer un objet HTMLFile
With CreateObject("htmlfile")
With .parentWindow.clipboardData
Select Case True
Case Len(StoreText)
'Écrire dans le presse-papiers
.setData "text", x
Case Else
'Lire depuis le presse-papiers (aucune variable transmise)
Clipboard = .GetData("text")
End Select
End With
End With
End Function |
Partager