Raccourci pour macro
Bonjour le forum,
Ce sujet a été largement abordé, mais je ne trouve pas l'info que je cherche.
J'avais une macro qui fonctionnait avec Ctrl + d, elle ne fonctionne plus, je soupçonne un autre programme l'utiliser, ok, mais lequel ?
Sinon, je pourrais utiliser OnKey, je ne me suis pas bien encore penché dessus, sauf que je viens de lire qu'il faut désactiver cette touche à la fin de la macro. Çà pourrait être bien pratique !?
Donc selon vous, est-ce mieux d'affecter via Option d'une macro un raccourci clavier ? ou via OnKey ?
Comment puis-je retrouver la liste des touches libres ?
Merci d'avance
Bonjour
Un exemple de ton fichier pourrait nous aider
Bonjour,
J'avais une macro qui fonctionnait avec Ctrl + d, elle ne fonctionne plus
je soupçonne un autre programme l'utiliser,
En principe la combinaison Ctrl + d n'est pas utilisée par excel, vous ne devriez pas avoir de souci sauf si quelqu'un a utilisé ce raccourci pour un autre code.
Si vous voulez conserver l'exécution de code par un raccourci clavier, je vous suggère d'ajouter le SHIFT lorsque vous définissez le raccourci. Donc comme ceci --> ctrl + SHIFT + D
De cette manière le code sera exécuté si la touche D est en majuscule.
Pour ma part je n'utiliserais pas de Onkey mais la combinaison de touches.
Si vous voulez connaitre les touches utilisées dans vos codes, allez dans le menu Affichage --> Icône Macro --> Sélectionnez une macro --> cliquez sur Option pour voir le raccourci existant ou le redéfinir.
Crdlt
Bonjour Dan,
Pour précision, à une précédente époque, j'utilisais Ctrl + w pour cette macro, qui n'est aussi pas utilisée par Excel. J'ai dû changer, car j'ai eu le même problème de raccourci qui ne fonctionnait plus et si on n'utilise pas le raccourci, il se passe du temps avant de s'en rendre compte.
Dans un premier temps, j'ai changé w par d, ce qui a résolu le problème. Bien plus tard, j'ai trouvé quel programme avait pris Ctrl + w, ensuite, je n'ai plus eu besoin de ce programme que j'ai désinstallé.
Peut-être que j'aurais dû revenir en Ctrl + w sur ma macro, mais la distance entre w et d n'était pas bien grande.
Dans ma macro, j'avais ajouté un commentaire précisant qu'avant, c'était w et maintenant d, comme cela, il me restait une touche de libre pour un autre code.
Sinon, ni w ni d ne sont pas utilisées pour un autre code, c'est pour cela que j'ai dit que je soupçonne un autre programme. D'où ma question un peu mal formulée,
En posant cette question, je me rends compte qu'il faudrait jongler avec Ctrl et/ou Shift et/ou Alt, j'essaye quand même, ça vaut le coup ^^.
Pour changer de raccourci, est-ce qu'on passe bien par Outils, Macros, on sélectionne la macro, puis Options ?
Si oui, dans cette petite fenêtre, je n'ai que Ctrl + (la lettre), à moins que si je mets la lettre en majuscule, ça devient Ctrl + Shift + W ? Comme tu le suggères
C'est ce que j'ai fait, j'ai tout testé, je ne sais plus si c'est dynamique ou pas, mais j'ai quand même fermé Excel et rouvert, ça ne fonctionne pas.
Peux-tu, STP, me dire pourquoi ne pas utiliser Onkey ? juste pour info.
Bonjour
Merci d'avoir passer du temps. Vos explications sont très claires.
j'utilisais Ctrl + w pour cette macro, qui n'est aussi pas utilisée par Excel.
Heu non, le raccourci Ctrl + w ferme le fichier actif mais pas Excel. Pour comprendre, ouvrez des fichiers bidons puis appuyer sur ctrl + w. Vous allez constatez que le fichier en cours d'utilisation (donc actif à l'écran) se ferme mais qu'Excel ou les autres fichiers actifs restent ouverts.
Cela est très intéressant car cela évite de recharger le programme si vous avez à ouvrir un autre fichier ou que vous avez plusieurs fichiers en cours d'utilisation. L'ouverture des fichiers n'en n'est que plus rapide.
existe-t-il un moyen de lister, parmi les 26 lettres de l'alphabet, lesquelles sont libres ?
L'IA peut-être est notre amie dans ce cas ....si vous entrez "liste des raccourcis clavier excel" dans Google, cela vous renvoie déjà pas mal d'infos
Sinon avec le mieux est lire ce lien --> https://support.microsoft.com/fr-fr/office/raccourcis-clavier-dans-excel-1798d9d5-842a-42b8-9c99-9b7...
Pour changer de raccourci, est-ce qu'on passe bien par Outils, Macros, on sélectionne la macro, puis Options ?
Si oui, dans cette petite fenêtre, je n'ai que Ctrl + (la lettre), à moins que si je mets la lettre en majuscule, ça devient Ctrl + Shift + W ?
Exactement. Le fait d'appuyer sur la touche shift en définissant le raccourci changera automatiquement la lettre choisie en majuscule.
Du coup l'exécution de votre code nécessitera d'appuyer sur les 3 touches.
Peux-tu, STP, me dire pourquoi ne pas utiliser Onkey ? juste pour info.
Bah cela revient un peu au même sauf que l'on définit dans le code la touche sur laquelle on doit appuyer.
Voyez ce lien --> https://learn.microsoft.com/fr-fr/office/vba/api/excel.application.onkey
Mais on reste dans le même souci à savoir de ne pas utiliser des raccourcis existants par défaut.
Cela me semble moins pratique que de définir le raccourci comme je vous l'ai expliqué et ce, d'autant que si vous voulez modifier ensuite c'est plus simple d'aller par le menu des macros --> Options.
Maintenant il faut savoir si vous n'avez pas attribué le même raccourci à deux fichiers identiques qui seraient par exemple ouverts en même temps.
Sans voir votre code qui vous a posé le souci, je ne peux que vous conseiller de bien définir le nom de vos feuilles dans le code et d'ajouter devant la mention THISWORBOOK. De cette sorte, vous serez certain que le raccourci utilisé ne fonctionne que sur le bon fichier.
Comme Joco7915 vous l'avais écrit, voir le fichier ou même le code concerné serait utile.
Cordialement
Bonjour,
Le raccourci CTRL D dans windows 11 correspond à : Ctrl + D (Supprimer) : Supprime l’élément sélectionné et le place dans la Corbeille.
- Je viens de tester dans mon Excel 2016 sur une cellule , CTRL + D me vide la cellule.
Bonjour Xmenpl et tous,
Je suis sous Win 10 et Excel 2003 et effectivement Ctrl + d vide une cellule dans Excel, c'est donc une mise à jour de Windows qui a pris mon raccourci.
Mais du coup, j'ai essayé Ctrl + D et non d, mais ça ne veut pas, je demandais s'il existait un moyen de trouver les touches non utilisées.
Dan et Joco7875 m'ont demandé un fichier exemple, en fait, je n'en ai pas, j'ai juste mis ActiveSheet.UsedRange.Select dans mon raccourci pour sélectionner la vraie dernière cellule utilisée. Vu que j'ajoute parfois plein de ligne et/ou colonne et que parfois, j'en supprime après traitement, mais ceci dans n'importe quel fichier, pas forcément dans 1 seul ^^
Pour le moment, je ne peux utiliser qu'Alt F8 et Exécuter ma petite macro que j'ai depuis de nombreuse année.
Re,
Mais du coup, j'ai essayé Ctrl + D et non d, mais ça ne veut pas, je demandais s'il existait un moyen de trouver les touches non utilisées.
Vous devez cliquer sur la touche SHIFT aussi pour avoir ctrl + D --> Donc sur votre clavier ctrl + MAJ (shift) + d
Attention pas la touche Shift Lock mais la touche Maj qui se trouve enn principe juste au dessus de la touche ctrl
Dan et Joco7875 m'ont demandé un fichier exemple, en fait, je n'en ai pas, j'ai juste mis ActiveSheet.UsedRange.Select dans mon raccourci pour sélectionner la vraie dernière cellule utilisée. Vu que j'ajoute parfois plein de ligne et/ou colonne et que parfois, j'en supprime après traitement, mais ceci dans n'importe quel fichier, pas forcément dans 1 seul ^^
Pour le moment, je ne peux utiliser qu'Alt F8 et Exécuter ma petite macro que j'ai depuis de nombreuse année.
Si je comprends bien vous utilisez ce raccourci uniquement pour sélection la plage en cours sur votre feuille ??
Parce que si c'est le cas, vous n'avez pas besoin d'un code. Si vous cliquez simplement sur Ctrl + a, cela fait exactement la même chose
Edit : si vous voulez voir tous les raccourcis clavier disponibles, voyez ce lien où Laurent Longre avait réalisé un code en 2004. Il vous suffit de mettre ces codes dans l'éditeur VBA et de les exécuter --> http://dmcritchie.mvps.org/excel/shortmenu.htm et celui-ci --> http://dmcritchie.mvps.org/excel/shortmenu.htm par dmcritchie
Bonjour Dan, le forum ^^
Vous devez cliquer sur la touche SHIFT aussi pour avoir ctrl + D --> Donc sur votre clavier ctrl + MAJ (shift) + d
Attention pas la touche Shift Lock mais la touche Maj qui se trouve enn principe juste au dessus de la touche ctrl
Oui oui pardon, mais comme j'avais super bien compris (pour une fois ^^) la différence en d et D, je n'avais pas précisé Ctrl + Shift +d. Je pensais en écrivant Ctrl+D faire comprendre que ce n'est pas Ctrl + d, mais maintenant que je l'écris, je comprends que j'aurai dû écrire Ctrl + Shift + d ou alors dois-je vraiment écrire D ?
Ce tout petit code, n'est extrêmement pratique, il supprime (je ne sais pas où ^^) les coordonnées de la dernière cellule utilisée si elle est vide.
Souvent dans mes fichiers, j'ajoute des lignes et des colonnes en bas et à droite de la dernière cellule, puis quand j'ai besoin, je supprime, du coup Excel mémorise quelque part cette info. Si je fais Ctrl+a, il va sélectionner de A1 jusqu'à cette dernière fausse cellule.
Je sais bien, c'est une récupération minime de ressource, mais mon Pc devenant un peu beaucoup lent, et aussi, c'est une des premières macros que j'ai apprises.
En la conservant, je m'oblige à me remettre en tête de petites choses, car je ne viens pas assez sur Excel et surtout en VBA ^^. Ci-dessous ma super "longue"
Sub Home_Fin()
'
' Home_Fin Macro
' Réinitialise Home_Fin de la taille maxi d'une feuille
'
' Touche de raccourci du clavier: Ctrl + Shift + D
'
'Réinitialise a la cellule la +en bas a droite
ActiveSheet.UsedRange.Select
'Soit aller en A2
ActiveSheet.Cells(2, 1).Select
'Soit aller Ctrl+Fin
' ActiveCell.SpecialCells(xlLastCell).Select
End SubOh merci pour le lien, je ne l'ai pas encore ouvert, mais c'est sûr que je vais l'installer.
Bonne journée
Re
alors dois-je vraiment écrire D ?
Hum... si vous m'écrivez cela c'est vous n'avez pas compris
Vous allez dans Option et vous positionnez dans la rubrique du raccouci à coté de la mention Ctrl
Vous appuyez sur la touche SHIFT (MAJ) et vous tapez d.
Ce tout petit code, n'est extrêmement pratique, il supprime (je ne sais pas où ^^) les coordonnées de la dernière cellule utilisée si elle est vide.
Votre code ne supprime rien du tout.
Le code fait ceci :
1. sélection de la plage complétée sur votre feuille (par défaut sélection de la première cellule complétée en haut à gauche).
ActiveSheet.UsedRange.Select2. Sélectionne la dernière cellule en bas à droite de la plage complétée.
ActiveCell.SpecialCells(xlLastCell).SelectMais faites plutôt comme ceci
ActiveSheet.Range("A1").SpecialCells(xlLastCell).SelectRem : quand parle de plage complétée, cela signifie que si vous avez laissé des lignes ou colonnes sans données, le code ira jusque la dernière cellule remplie en ligne et/ou colonne
Après comme je vous avais expliqué avant Mettez THISWORKBOOK devant Activesheet. Au moins votre raccourci utilisera bien le fichier actif.
Juste pour ma compréhension, je suppose que votre code n'inclut qu'une ligne et pas les trois.