Bonjour j'arrive un peu tard sur ce forum je suppose. Malgré ma petite expérience et avec toute modestie je me permets d'apporter une solution pour ton message d'erreur.
au lieu de :
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As LongPtr, _
ByVal dwExtraInfo As LongPtr)
il faut :
Private Declare PtrSafe Sub keybd_event Lib "User32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
cela te permettra d'utiliser aussi bien en 32 bits qu'en 64.
Bonne réception.