On Error Resume Next
pour le 2ème code VBA ; quelle est l'erreur qui peut survenir ?Sub Essai1()
ExecuteExcel4Macro "CALL(""user32"",""keybd_event"",""JJJJJ""," & &H11 & ", " & 0 & ", " & &H2 & ", " & 0 & ")"
CreateObject("Shell.Application").Open ThisWorkbook.Path & "\Essai.pdf"
End Sub
Sub Essai2()
On Error Resume Next
ExecuteExcel4Macro "CALL(""user32"",""keybd_event"",""JJJJJ""," & &H11 & ", " & 0 & ", " & &H2 & ", " & 0 & ")"
CreateObject("WScript.Shell").Run ThisWorkbook.Path & "\Essai.pdf"
End Sub
=>patrickoui je viens de le voir en effet
teste une de mes solutions, plus de soucis de latence , même en restant appuyé sur CTRL
la solution de Soan (wait 1 seconde ),marche pas si on reste appuyé sur CTRL
j'ai compris que &H11 est le code hexa de la touche Ctrl et que &H2 est le relâcher de cette touche, mais les "JJJJJ" et les 0, mystère ! je m'demande bien où tu vas chercher tout ça, lolllllll ! c'est une instruction bien compliquée juste pour éviter la rémanence de la touche Ctrl, mais en tout cas, ça marche super bien ! et pour tes deux codes VBA ! le 2ème est effectivement un peu plus rapide !!!
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)''ici on met pas de return c'est une sub
keybd_event Declare Sub keybd_event Lib "user32" Alias "keybd_event" ( J,J,J,J)J
ExecuteExcel4Macro ("CALL(... & ")")
avec les déclarations abrégées lettres « J » et « C ». Sub Ouvre_Cell()
Lien = ActiveCell
Shell ("Explorer.exe " & Lien), vbMaximizedFocus
End Sub
Sub Test()
Dim sPath
sPath = "C:\Users\Lambda\test.xld"
ThisWorkbook.FollowHyperlink sPath
End Sub
Sub Test_B()
Dim sPath
sPath = "C:\Users\Les\Carottes\Sont\cui.tes"
ThisWorkbook.FollowHyperlink sPath
End Sub
.FollowHyperlink
: ça fait un appel au navigateur pour rechercher le lien et c'est là que le navigateur affiche le message d'erreur, pas Excel ! (mais je peux me tromper)