Déplacement d'une cellule à une autre avec la touche "Entrée"

Bonjour à tous,

J'apprécierais qu'on m'aide à concevoir une macro qui permettrait de déplacer le curseur dans des cellules précises en appuyant sur la touche "Entrée".

Par exemple :

Lorsque le curseur est sur la cellule "C8", en appuyant sur la touche "Entrée", sans que des données soient nécessairement entrées dans cette cellule, je veux me déplacer à la cellule "C7".

Lorsque le curseur est sur la cellule "C7", en appuyant sur la touche "Entrée", sans que des données soient nécessairement entrées dans cette cellule, je veux me déplacer à la cellule "B10".

En résumé, en appuyant sur la touche "Entrée", je dois être en mesure de me déplacer selon la séquence suivante : "C8", "Entrée -> "C7", "Entrée -> "B10".

En vous remerciant par avance pour votre précieuse aide.

Salutations,

Renaud D.

Bonjour Renaud,

Il suffit de protéger la feuille avec l'option "Sélectionner les cellules déverrouillées" en ayant pris soin au préalable de déverrouiller ces 3 cellules

image

Ainsi à chaque [Entrée] la cellule suivante sera sélectionnée

En revanche dans l'ordre que vous souhaitez ça me semble impossible

A+

Merci BrunoM45 pour votre réponse.

J'aurai préféré éviter de protéger la feuille et suivre la séquence désirée d'une autre manière.

Salutations,

Renaud D.

Edit de moi même

Bonsoir,

T'inquiète, Bruno, déjà cross-posté...

Ah, l'impatience....

Bonjour Renaud Dugas, BrunoM45,

Tout est possible... ou presque, il suffit de demander.

Pour ton besoin, place le curseur dans la cellule C8, puis ensuite appui sur la touche CTRL et laisse cette touche toujours appuyé pour sélectionner avec la souris la cellule C7 puis la cellule B10.

Tu auras comme ci-dessous.

image

Ce qui indique une sélection de 3 cellules.

Ensuite sélectionne le sélecteur de cellules en haut à gauche de l'écran puis change B10 par C8 pour revenir sur cette cellule.

image

Puis relâche la touche CTRL.

Seul contrainte, il faudra faire 2 fois la touche entrée sur la 1ière cellule sélectionnée pour passer aux autres. Les 2 autres n'ayant qu'une fois la touche entrée.

C'est plutôt intéressant lorsque de grandes nombres cellules discontinues sont à remplir régulièrement selon un même ordre.

X Cellus tu me fera toujours rire

Ce n'est pas ce que demandait le monsieur, je me suis cantonné à sa demande

Bonsoir @ tous !

Fichier joint avec VBA (comme demandé) :

@ bientôt

LouReeD

Re,

Je dois le reconnaitre, bien joué ça LouReed

Bonjour Renaud Dugas, BrunoM45, LouReeD,

Je lis plus les dernières lignes que la première,

Mais j'espère que certains vont en pincer pour le fichier ci-dessous.

Evidemment on pourrait bloquer le principe uniquement à C7,C8 et B10.

Bonjour à tous,

Comme d'habitude, on poste sur plusieurs forum et surtout on ne le dit pas !

Voir ici sur XLD : Déplacement d'une cellule à une autre avec la touche "Entrée"

(il n'y a qu'une seule poire qui s'est fait prendre sur XLD, c'est ma pomme dixit mafraise)

Bonsoir,

Ci joint un fichier où les cellules ciblées sont renseignées dans un tableau, qui à l'avenir peut très bien être une plage de cellule et on en récupère les différentes adresses :

le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Tablo, I As Integer, Sortie As Integer

    Tablo = Array("$C$8", "$C$7", "$B$10")
    Sortie = -1

    For I = 0 To UBound(Tablo)
        If Tablo(I) = Douvient.Address Then Sortie = I: Exit For
    Next I

    If Sortie < 0 Then Set Douvient = ActiveCell: Exit Sub
    Sortie = Sortie + 1
    If Sortie > UBound(Tablo) Then Sortie = 0

    Application.EnableEvents = False
        Range(Tablo(Sortie)).Activate
    Application.EnableEvents = True

    Set Douvient = ActiveCell
End Sub

Là on voit bien la simplicité de mise à jour de la liste des cellules sur lesquelles on souhaite faire le cheminement.

Pour ce qui est du CrossPosting et bien comme de mon côté je ne fais pas de CrossAnswer, je n'aurait pas été au courant de vôtre façon de faire !
Et j'avoue que vôtre solution mafraise mableufée !

@ bientôt

LouReeD

Bonsoir,

je me suis permis de fusionner les deux codes !
Codes à mettre dans ThisWorkbook :

Option Explicit

Private Sub Workbook_Open()
   Application.OnKey "{ENTER}", "RCRC"
   Application.OnKey "~", "RCRC"
   ' modification LouReeD
   Tablo = Array("C8", "C7", "B10")
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.OnKey "{ENTER}"
   Application.OnKey "~"
   Application.MoveAfterReturn = True
   Application.MoveAfterReturnDirection = xlDown
End Sub

Codes à mettre dans le module :

Option Explicit
Public Tablo

Public Sub RCRC()
    Dim s, I As Integer, Sortie As Integer
    ' code suite fusion code de mafraise( Excel-Pratique.com ou mapomme XLD) et LouReeD
    If Application.Selection.Count = 1 Then
        Sortie = -1
        For I = 0 To UBound(Tablo)
            If LCase(Tablo(I)) = LCase(ActiveCell.Address(0, 0)) Then Sortie = I: Exit For
        Next I
        If Sortie < 0 Then ActiveCell.Offset(1).Select: Exit Sub
        If Sortie + 1 > UBound(Tablo) Then Sortie = 0 Else Sortie = Sortie + 1
        Range(Tablo(Sortie)).Select
    End If
End Sub

Il n'y a plus qu'à mettre le tableau à jour en fonction du changement de besoin, voir le tableau peut être mis à jour lors de la sélection d'une feuille du coup chaque zone de sélection peut être propre à chaque feuille... A voir

@ bientôt

LouReeD

Voilà le fichier avec le multiZones. Afin qu'il fonction il y a une activation de la feuille 1 à l'ouverture :

@ bientôt

LouReeD

Rechercher des sujets similaires à "deplacement touche entree"