Bonsoir
on va l'oublier encore longtemps le wscript.shell par la passerelle createobject de l'environnement vba ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CreateObject("wscript.shell").SendKeys ("%{DOWN}")
End Sub
ne déactive pas le pavé
et j'ajouterais que sendkeys(uneou plusieures touche) sans le préfixe "Application" est hérité du vbs vb6 qui est tout simplement un patch pour l'envirronnement vba
il est donc lancé sans possibilité de return getstate en interne donc les message window s'empile sans ce désempiler puisque le return du state(l'operation c'est effectuée ou pas)n'existe tout simplment pas resultat c'est comme si on restait appuyé imaginez le nombre de message("appuie sur tel ou tel touche)la pile de message window recois selon la vitesse de reponse de votre clavier résultat engorgement reinitialisation au clavier mini donc byebye le pavé
donc pour répondre a la question de Dan
oui la version sendkeys de l'application c'est toujours mieux que rien
cela dit et c'est vrai j'en ai fait l'expérience
mon astuce fonctionne à 100% avec un clavier/pc bien réglé
si votre clavier est un peu lent (pc portable par exemple) ou l'on voit des fois que l'on tape plus vite que cela écrit
il sera judicieux de séparer le "%" du DOWN en deux sendkeys
mais je préfère de loin le wscript.shell qui est un object du com de wscript.exe librairie scrun.dll me semble t il ,et donc son UP est recu en tant que message windows
patrick