Contrôle de l’ordre d’entrée sur les cellules non protégées (Microsoft Excel)
Rob a un certain nombre de feuilles de calcul qui sont utilisées pour noter les évaluations. La première feuille de calcul contient des cellules pour le nom, la date, etc., puis plusieurs colonnes pour saisir les réponses à choix multiples. La feuille est protégée, donc seules les cellules d’entrée peuvent être modifiées. Lorsque l’utilisateur termine la dernière cellule d’une colonne, le focus passe à la cellule non protégée suivante, qui peut être la première cellule de la colonne suivante, ou la cellule « date ». Rob se demande comment il peut contrôler le focus de sorte que lorsque la valeur est entrée dans la dernière cellule (du bas) d’une colonne, elle se déplace ensuite vers une cellule qu’il spécifie.
Il n’existe aucun moyen intégré de le faire dans Excel, car le programme détermine son propre ordre de choix de la cellule suivante sélectionnée. Vous pouvez modifier la cellule sélectionnée ensuite lorsque vous appuyez sur Entrée dans une feuille de calcul, mais vous ne pouvez pas modifier ce qui se passe lorsque vous appuyez sur Tabulation dans une feuille de calcul protégée.
Par défaut, les cellules sont sélectionnées de gauche à droite, puis de haut en bas dans la feuille de calcul.
Si vous souhaitez modifier ce qui se passe lorsque vous appuyez sur la touche Tab, vous devrez recourir à une macro pour contrôler l’ordre de sélection.
La macro suivante est un exemple; il se déplace vers la cellule D5 en quittant la cellule C10 et vers E5 en quittant la cellule D10:
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$C$10" Then Range("D5").Select If Target.Address = "$D$10" Then Range("E5").Select Application.EnableEvents = True End Sub
Le problème avec l’utilisation d’une solution VBA comme celle-ci est qu’elle peut rendre votre feuille de calcul, en particulier si elle est volumineuse, un peu plus lente. De par leur nature, les macros signifient également que la fonction Annuler est désactivée.
Si vos besoins d’ordre de tabulation sont plus complexes, alors vous pourriez être intéressé par le code discuté sur cette page Web:
http://www.ozgrid.com/forum/showthread.php?t=82272
Comme vous pouvez le constater, le code peut parfois devenir assez complexe. Bien entendu, une telle approche, puisqu’elle stipule tous les mouvements de cellule à cellule, rend plus difficile la modification de la conception de la feuille de calcul elle-même.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (10313) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.
Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
link: / excelribbon-Controlling_Entry_Order_on_Unprotected_Cells [Contrôle de l’ordre d’entrée sur les cellules non protégées]
.