Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Désactiver le saut du cadre pour une cellule B6

Mi_

XLDnaute Occasionnel
Bonsoir le forum,

Sur une feuille, j'ai une colonne de cellules déverrouillées, B2-B6, la feuille étant protégée.

Lorsqu'on saisi B2, B3 etc, le curseur saute automatiquement à la cellule suivante (plus bas), ce qui est ok.

Mais à la dernière cellule, faute d'autre cellule déverrouillée plus bas, le curseur saute à la cellule B2.

La question est comment désactiver ce saut, pour la dernière cellule déverrouillée de la feuille, et pas pour les autres.

Je sais qu'il faut jongler avec l'option Application.MoveAfterReturn, mais comment déterminer la dernière cellule déverrouillée sur la feuille ? Ou sinon, comment l'associer à la saisie de la cellule B6 ?

Merci pour toute idée,
Mi_
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Mi, bonsoir le forum,

Je te propose ce code sur la macro événementielle Selection_Change :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = '$B$6' Then
Application.MoveAfterReturn = False
Else
Application.MoveAfterReturn = True
End If
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Mi, bonsoir le forum,

C'est plutôt moi qui aurait dû te remercier car je ne connaissais pas la fonction Application.MoveAfterReturn . Donc, en retard... Merci à toi.
 

Mi_

XLDnaute Occasionnel
Arf, je viens de découvrir que si on protège la feuille avec EnableSelection = xlUnlockedCells, le courseur va quand même sauter de la dernière cellule non-verrouillée à la première.

Est-ce que si on connait l'adresse de la première cellule non-verrouillée (B2), on pourrait annuler ce saut ? Ou une autre alternative ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…