XL 2010 Macro neutralise le pavé numérique et majuscules

Orson83

XLDnaute Impliqué
Bonjour le forum,
Je rencontre un petit problème fonctionnel sur une fonction qui affecte des flèches à des listes déroulantes.
Quand je clique sur l'une des flèches pour dérouler la liste, le pavé numérique de mon ordi se verrouille et les majuscules deviennent des minuscules (et vis-versa).
Je joins un fichier exemple à ce message pour plus de compréhension.
Merci pour votre aide.
Tchotchodu31
 

Pièces jointes

  • Select et flèche V1.xlsm
    24.5 KB · Affichages: 17
Solution
Bonsoir Tchotchodu31, Robert,

Il est bien connu que Application.SendKeys ou SendKeys désactive le pavé numérique.

Du moins sur les dernières versions Excel (depuis 2007 peut-être ?).

Plus de problème en le remplaçant par CreateObject("wscript.shell").SendKeys

A+

job75

XLDnaute Barbatruc
Bonsoir Tchotchodu31, Robert,

Il est bien connu que Application.SendKeys ou SendKeys désactive le pavé numérique.

Du moins sur les dernières versions Excel (depuis 2007 peut-être ?).

Plus de problème en le remplaçant par CreateObject("wscript.shell").SendKeys

A+
 

Orson83

XLDnaute Impliqué
Bonsoir Tchotchodu31, Robert,

Il est bien connu que Application.SendKeys ou SendKeys désactive le pavé numérique.

Du moins sur les dernières versions Excel (depuis 2007 peut-être ?).

Plus de problème en le remplaçant par CreateObject("wscript.shell").SendKeys

A+
Bonsoir job75, Robert, le forum,
Super et merci ! Mon fichier Excel est maintenant à la page ;)
Bonne soirée.
Tchotchodu31
 

patricktoulon

XLDnaute Barbatruc
Bonsoir
et encore !!!même sur 2013 wscript.shell déactive encore le pavé numérique
perso j'ai du me tourner vers api key_events avec elle plus de soucis
le problème du sendkeys et que le up est mal géré voir pas du tout avec celui de application
autrement dit plusieurs sendkeys peuvent générer une combinaison de touche
ce qui a pour effet de faire des actions que l'on attends pas

avec les api on gère l’appui et la relâche de la touche
 

soan

XLDnaute Barbatruc
Inactif
Bonjour patrick, le fil,

comment se fait-il donc que Microsoft a créé une fonction SendKeys()
avec ces anomalies de fonctionnement ? pourtant, ils s'y connaissent
en matériel et en système d'exploitation gérant le matériel ! c'est le
moins qu'on puisse dire à leur sujet, vu qu'c'est eux qui ont fait le
DOS, puis Windows (même si pour le DOS, ils ont repris le projet initial de
Tim Paterson)
.

je sais que tu connais, mais je mets ce lien pour d'autres lecteurs
de cette conversation : Tim Paterson


soan
 

soan

XLDnaute Barbatruc
Inactif
Patrick, le fil,

dans ton post #5 : « le problème du sendkeys est que le up est mal géré voire pas du tout »

je crois avoir trouvé une explication plausible :

quand l'équipe de développement Microsoft a voulu faire la fonction sendkeys, Tim Paterson
l'avait déjà quittée ; Bill Gates a alors essayé à sa place, mais comme il s'y connaissait mieux
pour son langage Basic fétiche et qu'il était moins bon en matériel, il n'y est pas arrivé ? :rolleyes:
comme tu as employé le mot « up », peut-être qu'il a pas su appréhender le feed-back de
son clavier ? ben oui, tu sais bien, les commerciaux parlent toujours de « remontée » et
de « feed-back », c'est-à-dire l'appréciation de la clientèle pour tel ou tel produit.

ne rigole pas, tu te doutes bien que je ne faisais pas partie de l'équipe de développement
Microsoft, alors je n'y étais pas ! si ça avait été le cas, tu penses bien que j'aurais veillé
soigneusement à ce que la fonction sendkeys soit irréprochable ! quitte pour cela à faire
appel aux meilleurs techniciens hardware que je connais ; par exemple @patricktoulon,
@mapomme, et @ChTi160 ; peut-être aussi @R@chid ? mais j'crois qu'il est plus doué
en logiciel qu'en matériel ; si c'est le cas, il nous aurait sûrement bien aidés pour faire
l'interface entre Windows et le clavier ! (y compris la gestion du buffer = le tampon clavier)


soan
 

Orson83

XLDnaute Impliqué
Bonsoir
et encore !!!même sur 2013 wscript.shell déactive encore le pavé numérique
perso j'ai du me tourner vers api key_events avec elle plus de soucis
le problème du sendkeys et que le up est mal géré voir pas du tout avec celui de application
autrement dit plusieurs sendkeys peuvent générer une combinaison de touche
ce qui a pour effet de faire des actions que l'on attends pas

avec les api on gère l’appui et la relâche de la touche
Bonjour patrick, le fil,
Merci pour cette information intéressante.
Pourrais-tu intégrer cet argument dans le fichier Excel que j'ai proposé en introduction?
Bonne journée.
Tchotchodu31
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous :),

S'il faut réactiver le pavé numériqie et/ou le le blocage en majuscule, le code suivant devrait suffire:
VB:
Sub ClicFlèche()
  Range(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address).Offset(, -1).Select
  SendKeys "%{down}": SendKeys "{NUMLOCK}": SendKeys "{CAPSLOCK}"
End Sub
 

Orson83

XLDnaute Impliqué
Bonjour à tous :),

S'il faut réactiver le pavé numériqie et/ou le le blocage en majuscule, le code suivant devrait suffire:
VB:
Sub ClicFlèche()
  Range(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address).Offset(, -1).Select
  SendKeys "%{down}": SendKeys "{NUMLOCK}": SendKeys "{CAPSLOCK}"
End Sub
Bonjour mapomme, le forum,
J'ai testé ton code ci-dessus mais il ne règle pas le problème.
Du coup je vais conserver mon code que j'ai modifié avec le bout code de patrick "CreateObject("wscript.shell").SendKeys" :
VB:
Sub ClicFlèche()
  Range(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address).Offset(, -1).Select
  CreateObject("wscript.shell").SendKeys "%{down}"
End Sub
Merci d'avoir regardé.
Bonne journée.
Tchotchodu31
 

Discussions similaires

Statistiques des forums

Discussions
312 282
Messages
2 086 766
Membres
103 390
dernier inscrit
BMatoul