Brendon a créé une macro très simple pour enregistrer le classeur actuel et le fermer. Il a ensuite ajouté une icône à la barre d’outils d’accès rapide (QAT) pour la macro. La macro fonctionne bien si l’utilisateur n’est pas en mode Edition dans la feuille de calcul. Si, par exemple, un utilisateur entre des données dans une cellule mais n’appuie jamais sur Entrée ou ne sélectionne pas une cellule différente, la macro ne s’exécutera pas. C’est comme si l’icône QAT était grisée. Brendon se demande comment il peut contourner ce problème et forcer l’exécution de la macro.

Brendon s’est heurté à l’une des limitations fondamentales d’Excel: vous ne pouvez pas exécuter une macro lorsque vous êtes en mode Edition. En fait, il y a de nombreuses choses que vous ne pouvez pas faire lorsque vous êtes en mode Édition. Par exemple, la plupart des outils du ruban ne sont pas disponibles et la plupart des touches de raccourci ne fonctionnent pas. Excel limite ce que vous pouvez faire aux seules choses traitant de la modification du contenu de la cellule.

La solution consiste à sortir du mode Edition avant d’exécuter la macro. Un moyen simple de le faire est (comme Brendon le souligne) d’appuyer simplement sur Entrée ou d’appuyer sur Tab pour passer à une autre cellule.

Si la formation de l’utilisateur à faire cela est un peu trop, vous pouvez placer votre macro ailleurs que le QAT. L’approche la plus efficace consiste à placer une forme dans votre classeur, puis à attacher la macro à cette forme. (Comment faire cela dépasse un peu la portée de cette astuce particulière.) La forme – que vous auriez besoin de concevoir dans un programme graphique – pourrait ressembler à un « bouton » qui dit quelque chose comme « Cliquez ici pour enregistrer et quitter.  » L’utilisateur, en cliquant sur la forme, quitterait automatiquement le mode Edition, ce qui signifie que la macro attachée à la forme s’exécuterait.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13736) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.