OVH Cloud OVH Cloud

D'une cellule à l'autre

3 réponses
Avatar
Denys
Bonjour =E0 tous,

Sur une feuille Excel, d=E8s l'ouverture du fichier, la=20
cellule active est la D3. Je souhaiterais qu'apr=E8s que=20
l'usager ait entr=E9 ses donn=E9es, qu'Excel aille sur la=20
cellule E5 si l'usager presse Enter ou Tab. De l=E0,=20
toujours en pressant Enter ou Tab, je veux qu'Excel aille=20
sur K5. Etc....

Je sais que le Keycode pour Enter est 13 et celui pour Tab=20
est 9, mais je n'ai aucune id=E9e comment =E9crire le code.

Quelqu'un pourrait m'aider?

Merci et bonne fin de semaine..

Denys

3 réponses

Avatar
e.lecrenier
Bonsoir Denys
Je ne puis te répondre pour plusieurs cellules, mais il y a moyen de
paramétrer la touche "Enter" pour qu'elle fasse son déplacement vers la
droite, un peu comme les flèches de direction.
--
Bonne chance et bonne fin de journée.
Jacquouille qui lit http://www.excelabo.net

"Denys" a écrit dans le message de
news:01c001c39a68$015686f0$
Bonjour à tous,

Sur une feuille Excel, dès l'ouverture du fichier, la
cellule active est la D3. Je souhaiterais qu'après que
l'usager ait entré ses données, qu'Excel aille sur la
cellule E5 si l'usager presse Enter ou Tab. De là,
toujours en pressant Enter ou Tab, je veux qu'Excel aille
sur K5. Etc....

Je sais que le Keycode pour Enter est 13 et celui pour Tab
est 9, mais je n'ai aucune idée comment écrire le code.

Quelqu'un pourrait m'aider?

Merci et bonne fin de semaine..

Denys
Avatar
AV
"Préalable :
Dans la feuille dans laquelle tu souhaites imposer, après saisie, "une
navigation" de cellules en cellules :
* Avec la touche Ctrl, sélectionner successivement dans l'ordre souhaité (c'est
capital !) les cellules dans lesquelles les saisies doivent se faire
* Nommer cette plage (saisie dans barre des noms) ex : "plgSaisies"

A mettre dans le Workbook_Open de ThisWorkbook :
* La feuille à sélectionner (ex: "Feuil1")
* La cellule à activer (ex: D3)
* Une limitation d'accés aux cellules non verrouillées (cellules dans lesquelles
doivent se faire des saisies)
* La protection de la dite feuille

"Private Sub Workbook_Open()
With Sheets(""Feuil1"")
.Protect Contents:=True, UserInterfaceOnly:=True
.Cells.Locked = True
.EnableSelection = xlUnlockedCells
.Activate
.[D3].Locked = False
.[D3].Select
End With
Feuil1.InitialiseTablo
End Sub"

Dans le module de la feuille :
"Private tablo, x

Sub InitialiseTablo()
x = [plgSaisies].Areas.Count
Dim Tbl() As String
For i = 1 To x
ReDim Preserve Tbl(1 To i)
Tbl(i) = [plgSaisies].Areas(i).Address
Next i
tablo = Tbl()
End Sub

Private Sub Worksheet_Change(ByVal zz As Range)
Exit Sub
y = Application.Match(zz.Address, tablo, 0)
If y = x Then y = 0
Cells.Locked = True
MsgBox zz.Value
With Range(Application.Index(tablo, y + 1))
.Select
.Locked = False
End With
End Sub
"

AV
Avatar
AV
Parti un vite avec copier/coller version test !
Modifier le "Worksheet_Change"

Private Sub Worksheet_Change(ByVal zz As Range)
y = Application.Match(zz.Address, tablo, 0)
If y = x Then y = 0
Cells.Locked = True
With Range(Application.Index(tablo, y + 1))
.Select
.Locked = False
End With
End Sub

AV