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

Microsoft 365 Allez directement en cellule "E2" sans passer par la cellule "I2"

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous

J'en ai une "petite bonne" que je ne parviens pas à coder malgré mes recherches et tests.

Quand on valide "entrée" une cellule, Excel passe à la cellule suivante : Pour mon besoin, je voudrais l'éviter...

Ce que je voudrais faire :
cellule H2: Si Clic et modifie contenu ou clic ... à l'appui sur touche "entrée"
Allez directement en cellule "E2" (Cells(ActiveCell.Row, 5).Select)
sans passer par la cellule "I2"

Vous sauriez le faire ?
En cas, je joins un petit fichier test.

Un grand merci à tous pour votre aide...
Amicalement
 

Pièces jointes

  • retour cellule test.xlsm
    18 KB · Affichages: 2
Dernière édition:
Solution
Si tu ne veux plus t'emm... avec les déplacements automatiques ,
code à mettre dans ThisWorkBook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.MoveAfterReturn = True
End Sub

Private Sub Workbook_Open()
    Application.MoveAfterReturn = False
End Sub
Surtout ne pas oublier le beforeclose !!!

Usine à gaz

XLDnaute Barbatruc
Bsr et Merci Jacky67
Cas 1 : Je modifie le contenu de H2 :
Je modifie le contenu : Target fonctionne bien et renvoie le curseur en E2 sans passer par I2

Cas 2 : Je suis sur H2 et je clique sur "entrée" sans modifier le contenu, la mon curseur se déplace sur I2 et j'ai besoin qu'il n'y aille pas et je retrouve direct mon curseur sur E2 (comme pour Target)
 

fanch55

XLDnaute Barbatruc
Cas 2 : Je suis sur H2 et je clique sur "entrée" sans modifier le contenu, la mon curseur se déplace sur I2 et j'ai besoin qu'il n'y aille pas et je retrouve direct sur E (comme pour Target)
Bizarre,
sur mon excel , l'action sur entrée fait passer la sélection sur la cellule en-dessous et non pas celle suivante et c'est un processus que j'ai toujours connu ainsi ....
 

fanch55

XLDnaute Barbatruc

Jacky67

XLDnaute Barbatruc
Re..
Dans tous les cas E2
VB:
 Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Range("H2").Address Then Range("E2").Activate
  End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = Range("i2").Address Then Range("E2").Activate
End Sub
Mais si un utilisateur à l'option "Sens" dans les paramètres "bas", l'usine à gaz ne fonctionnera pas
La cellule i2 ne sera plus sélectionnable
 

fanch55

XLDnaute Barbatruc
Si tu ne veux plus t'emm... avec les déplacements automatiques ,
code à mettre dans ThisWorkBook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.MoveAfterReturn = True
End Sub

Private Sub Workbook_Open()
    Application.MoveAfterReturn = False
End Sub
Surtout ne pas oublier le beforeclose !!!
 

Usine à gaz

XLDnaute Barbatruc
Effectivement et cela ne semble pas possible !
L'idéal :
1 - serait de pouvoir bloquer l'exécution de "Private Sub Worksheet_SelectionChange(ByVal R As Range)" quand je suis sur la cellule "H2" et que je clique sur "entrée,
2 - ou qu'un code permette de de constater que la cellule n'a pas été modifiée.
 

Usine à gaz

XLDnaute Barbatruc
Super, c'est exactement ce qu'il me fallait et je n'y avais pas pensé.
Je pense que je peux mettre le code dans les feuilles concernée au lieu de le mettre dans le ThisWorkBook
Je vais tester,
Merci à toi
 

Usine à gaz

XLDnaute Barbatruc
Re-Bjr fanch55
C'est bien la solution, merci à toi pour y avoir pensé (code à mettre dans la feuille concernée, pour moi)
A vous tous pour m'avoir aidé et j'en ai encore appris des trucs : Un grand merci
 

Usine à gaz

XLDnaute Barbatruc
Petite question :
Est-il possible de mettre dans le ThisWorkBook "Application.MoveAfterReturn" = False" mais pour qu'il n'ait d'effet que sur une feuille ?
 

Discussions similaires

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