Lancer l'exécution d'une touche clavier

  • Initiateur de la discussion Mick
  • Date de début
M

Mick

Guest
Bonjour à tous
J'ai une petite question. La dernière action de ma macro est un coupé collé et la sélection qui vient d'être collée apparait sélectionnée en pointillé. Etant perfectionniste :), j'aurais voulu savoir si on pouvait lancer l'exécution d' <echap> depuis une macro pour désactiver cette sélection. dans le cas on on ne peut pas avoir access aux touches clavier ya t'il un moyne de désactiver cette sélection?

Merci
bonne journée

Mick
 
T

tchouminator

Guest
salut Mick, salut le forum,

je ne suis pas expert, mais j'ai une ou 2 solutions de "bricoleur"...lol
la première consiste à remplir une cellule vide de ... rien pour désélectionner ta plage de cellules :
Range("C1").Select
ActiveCell.FormulaR1C1 = ""
la seconde permet de simuler l'appui d'une touche du clavier :
sendkeys ("{ECHAP}")
ps: je crois que c'est ECHAP, mais je suis sur pour TAB et ENTER !

voili vloila !!!
j'espère que ça pourra te servir !
@+
anto
 
M

Mick

Guest
Merci tchouminator pour ton aide
Je connaissais pas sendkeys. par contre j'ai l'impression que si je mets sendkeys a, le "a" est affiché après la macro. donc je pense que pour echap c'est pareil il doit exéctuer la touche échap sur la fenetre du code VBA et non sur la feuille excel.
 
T

tchouminator

Guest
Auteur: Arnaud (---.eic.fr)
Date: 03-05-04 16:29

(...)

regarde l'aide de VBA :


Cette méthode envoie des touches à l'application active.

expression.SendKeys(Keys, Wait)

expression Facultative. Expression qui renvoie un objet Application.

Keys Argument de type Variant obligatoire. Touche ou la combinaison de touches que vous voulez envoyer à l'application, sous forme de texte.

Wait Argument de type Variant facultatif. Affectez-lui la valeur True pour que Microsoft Excel attende le traitement des touches avant de rendre le contrôle à la macro. Affectez-lui la valeur False (ou ne spécifiez pas cet agument) pour continuer l'exécution de la macro sans attendre le traitement des touches.

Notes
Cette méthode place les touches dans une zone tampon spécialisée. Dans certains cas, vous devez appeler cette méthode avant d'appeler la méthode qui va traiter les touches. Par exemple, pour envoyer un mot de passe à une boîte de dialogue, vous devez appeler la méthode SendKeys avant d'afficher la boîte de dialogue.

L'argument Keys peut indiquer une quelconque touche unique ou associée à une des touches ALT, CTRL ou MAJ ou à une combinaison de ces dernières. Chaque touche est représentée par un ou plusieurs caractères, tels que "a" pour la lettre a ou "{ENTER}" pour la touche ENTRÉE.

Pour spécifier des caractères non affichés lorsque vous appuyez sur la touche correspondante (par exemple ENTER ou TAB), utilisez les codes listés dans la table suivante. Chaque code de la table représente une touche du clavier.

Touche Code
AIDE {HELP}
ATTN {BREAK}
BAS {DOWN}
DÉBUT {HOME}
DÉFILEMENT {SCROLLLOCK}
DROITE {RIGHT}
ÉCHAP {ESCAPE} ou {ESC}
EFFACER {CLEAR}
ENTRÉE (pavé numérique) {ENTER}
ENTRÉE ~ (tilde)
F1 à F15 {F1} à {F15}
FIN {END}
GAUCHE {LEFT}
HAUT {UP}
INSERTION {INSERT}
PAGE PRÉCÉDENTE {PGUP}
PAGE SUIVANTE {PGDN}
RET.ARR {BACKSPACE} ou {BS}
RETOUR {RETURN}
SUPPRESSION ou SUPPR {DELETE} ou {DEL}
TABULATION {TAB}
VERR.MAJ {CAPSLOCK}
VERR.NUM {NUMLOCK}


Vous pouvez aussi spécifier des touches combinées avec MAJ et/ou CTRL et/ou ALT. Pour spécifier une combinaison de touches, utilisez le tableau suivant.

Pour combiner une touche avec : Précédez le code de la touche de :
ALT % (signe de pourcentage)
CTRL ^ (signe d'insertion)
MAJ + (signe plus)
 

Statistiques des forums

Discussions
312 361
Messages
2 087 604
Membres
103 605
dernier inscrit
gabriel morency