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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:01c001c39a68$015686f0$a501280a@phx.gbl...
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.
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
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
"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
"
"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
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
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
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