OVH Cloud OVH Cloud

Touche entrée

11 réponses
Avatar
Denys
Bonjour =E0 tous,

Sur une feuille Excel, j'aimerais qu'apr=E8s avoir enfonc=E9=20
la touche "entr=E9e" que l'on aille de la cellule A5 =E0 B7,=20
ensuite de B7 =E0 C22, etc.... Autrement dit sans ordre=20
logique... J'ai 22 cellules =E0 entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entr=E9e.

Peut =EAtre en VBA.

Z'auriez une id=E9e ??

Merci

Denys

10 réponses

1 2
Avatar
Pascal Engelmajer
Salut tu peux faire ça avec TAB,
nomme la plage $A$5:$B$7;$C$22 ...
dans la zone de nom sélectionne ta zone nommée... et TAB passe de cellule en
cellule

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Denys" a écrit dans le message de
news: 1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys
Avatar
Denys
Salut Pascal,

Merci mais.... Comme j'avais écris dans le message
original, je sais le faire avec Tab... Sauf que les
utilisateurs sont habitués avec Entrée...

Tu sais comment sont les gens.... La plupart déteste le
changement...

Bonne journée

Denys

-----Original Message-----
Salut tu peux faire ça avec TAB,
nomme la plage $A$5:$B$7;$C$22 ...
dans la zone de nom sélectionne ta zone nommée... et TAB
passe de cellule en

cellule

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait
pas ou il va."

Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"Denys" a écrit
dans le message de

news: 1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.



Avatar
Daniel.M
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre automatiquement. Si tu veux
déterminer l'ordre TOI-MÊME, tu devras écrire une procédure événement qui passe
automatiquement à la prochaine choisie. Rapplique si tu ne sais pas comment
faire.

Salutations,

Daniel M.

"Denys" wrote in message
news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys
Avatar
Denys
Bonjour Daniel,

Effectivement, je sais quelles sont les cellules ou
l'information doit être entrée.

À l'ouverture du fichier, la cellule active est
Sheet1("A4"). Donc, je voudrais que si l'utilisateur
appuie sur Tab (quoique ça c'est déjà réglé) ou sur Enter,
il aille à la cellule suivante...

If key = ... or ... then
application.goto range("B7")
end if

Suis-je un peu sur la bonne voie ???

Merci Daniel

Denys


-----Original Message-----
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre
automatiquement. Si tu veux

déterminer l'ordre TOI-MÊME, tu devras écrire une
procédure événement qui passe

automatiquement à la prochaine choisie. Rapplique si tu
ne sais pas comment

faire.

Salutations,

Daniel M.

"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.



Avatar
Daniel.M
Denys,

Strike One: Ma première suggestion est passée dans l'beurre. :-))

Tu n'aimes pas:
Sheets("Sheet1").Activate
Range("A5,B7,C22").Select ?

Laisse-le moi savoir et on verra si on a besoin de circuler différemment à
l'intérieur des cellules choisies.

Salutations,

Daniel M.


"Denys" wrote in message
news:1391301c44426$9974a120$
Bonjour Daniel,

Effectivement, je sais quelles sont les cellules ou
l'information doit être entrée.

À l'ouverture du fichier, la cellule active est
Sheet1("A4"). Donc, je voudrais que si l'utilisateur
appuie sur Tab (quoique ça c'est déjà réglé) ou sur Enter,
il aille à la cellule suivante...

If key = ... or ... then
application.goto range("B7")
end if

Suis-je un peu sur la bonne voie ???

Merci Daniel

Denys


-----Original Message-----
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre
automatiquement. Si tu veux

déterminer l'ordre TOI-MÊME, tu devras écrire une
procédure événement qui passe

automatiquement à la prochaine choisie. Rapplique si tu
ne sais pas comment

faire.

Salutations,

Daniel M.

"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.



Avatar
Denys
Salut Daniel,

C'est parfait, sauf que.... Si tu as le malheur d'effacer
une donnée dans une cellule,.... Kaflok... Foutu....Tout
s'efface..

Je risquerais de me faire traiter de &?*&?*&?*&? Même si
dans le fond, ça les tiendrait sur un stress.... Soyez
précis!!!!

J'ai bien peur de devoir essayer autre chose...

Denys




-----Original Message-----
Denys,

Strike One: Ma première suggestion est passée dans
l'beurre. :-))


Tu n'aimes pas:
Sheets("Sheet1").Activate
Range("A5,B7,C22").Select ?

Laisse-le moi savoir et on verra si on a besoin de
circuler différemment à

l'intérieur des cellules choisies.

Salutations,

Daniel M.


"Denys" wrote in
message

news:1391301c44426$9974a120$
Bonjour Daniel,

Effectivement, je sais quelles sont les cellules ou
l'information doit être entrée.

À l'ouverture du fichier, la cellule active est
Sheet1("A4"). Donc, je voudrais que si l'utilisateur
appuie sur Tab (quoique ça c'est déjà réglé) ou sur Enter,
il aille à la cellule suivante...

If key = ... or ... then
application.goto range("B7")
end if

Suis-je un peu sur la bonne voie ???

Merci Daniel

Denys


-----Original Message-----
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre
automatiquement. Si tu veux

déterminer l'ordre TOI-MÊME, tu devras écrire une
procédure événement qui passe

automatiquement à la prochaine choisie. Rapplique si tu
ne sais pas comment

faire.

Salutations,

Daniel M.

"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche
entrée.



Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.




.




Avatar
Daniel.M
Denys,

Tu peux essayer quelque chose comme cela (dans le code DE TA FEUILLE):

Dim cAdd As String

Private Sub Worksheet_Change(ByVal Target As Range)
cAdd = Target(1, 1).Address(0, 0)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim res As Variant, ListeCellsValide As Variant
Static Cnt As Integer
Dim MaxCnt As Integer

ListeCellsValide = Array("A5", "B7", "C22", "D2") ' à ajuster
MaxCnt = 1 + UBound(ListeCellsValide) - LBound(ListeCellsValide)

res = Application.Match(cAdd, ListeCellsValide, 0)
Application.EnableEvents = False
If IsError(res) Then
Range(ListeCellsValide(Cnt)).Select ' on se place au début
Else
Range(ListeCellsValide(res)).Select
End If
Application.EnableEvents = True
Cnt = (Cnt + 1) Mod MaxCnt
End Sub


Salutations,

Daniel M.

"Denys" wrote in message
news:13b6101c4442a$bcab61c0$
Salut Daniel,

C'est parfait, sauf que.... Si tu as le malheur d'effacer
une donnée dans une cellule,.... Kaflok... Foutu....Tout
s'efface..

Je risquerais de me faire traiter de &?*&?*&?*&? Même si
dans le fond, ça les tiendrait sur un stress.... Soyez
précis!!!!

J'ai bien peur de devoir essayer autre chose...

Denys




-----Original Message-----
Denys,

Strike One: Ma première suggestion est passée dans
l'beurre. :-))


Tu n'aimes pas:
Sheets("Sheet1").Activate
Range("A5,B7,C22").Select ?

Laisse-le moi savoir et on verra si on a besoin de
circuler différemment à

l'intérieur des cellules choisies.

Salutations,

Daniel M.


"Denys" wrote in
message

news:1391301c44426$9974a120$
Bonjour Daniel,

Effectivement, je sais quelles sont les cellules ou
l'information doit être entrée.

À l'ouverture du fichier, la cellule active est
Sheet1("A4"). Donc, je voudrais que si l'utilisateur
appuie sur Tab (quoique ça c'est déjà réglé) ou sur Enter,
il aille à la cellule suivante...

If key = ... or ... then
application.goto range("B7")
end if

Suis-je un peu sur la bonne voie ???

Merci Daniel

Denys


-----Original Message-----
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre
automatiquement. Si tu veux

déterminer l'ordre TOI-MÊME, tu devras écrire une
procédure événement qui passe

automatiquement à la prochaine choisie. Rapplique si tu
ne sais pas comment

faire.

Salutations,

Daniel M.

"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche
entrée.



Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.




.




Avatar
Denys
Salut Daniel,

Eh! bien dis-donc... C'est pas mal plus compliqué que je
pensais.... Ça semble fonctionner.. Sauf que curieusement,
si on efface quelque chose dans une cellule, on doit aussi
faire la même chose dans la suivante...Ça peut porter à
confusion...

Merci beaucoup d'avoir pris de ton temps. Je croyais
sincèrement que ce serait moins compliqué...

Bonne soirée

Denys


-----Original Message-----
Denys,

Tu peux essayer quelque chose comme cela (dans le code DE
TA FEUILLE):


Dim cAdd As String

Private Sub Worksheet_Change(ByVal Target As Range)
cAdd = Target(1, 1).Address(0, 0)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As
Range)

Dim res As Variant, ListeCellsValide As Variant
Static Cnt As Integer
Dim MaxCnt As Integer

ListeCellsValide = Array("A5", "B7", "C22", "D2") ' à
ajuster

MaxCnt = 1 + UBound(ListeCellsValide) - LBound
(ListeCellsValide)


res = Application.Match(cAdd, ListeCellsValide, 0)
Application.EnableEvents = False
If IsError(res) Then
Range(ListeCellsValide(Cnt)).Select ' on se place
au début

Else
Range(ListeCellsValide(res)).Select
End If
Application.EnableEvents = True
Cnt = (Cnt + 1) Mod MaxCnt
End Sub


Salutations,

Daniel M.

"Denys" wrote in
message

news:13b6101c4442a$bcab61c0$
Salut Daniel,

C'est parfait, sauf que.... Si tu as le malheur d'effacer
une donnée dans une cellule,.... Kaflok... Foutu....Tout
s'efface..

Je risquerais de me faire traiter de &?*&?*&?*&? Même si
dans le fond, ça les tiendrait sur un stress.... Soyez
précis!!!!

J'ai bien peur de devoir essayer autre chose...

Denys




-----Original Message-----
Denys,

Strike One: Ma première suggestion est passée dans
l'beurre. :-))


Tu n'aimes pas:
Sheets("Sheet1").Activate
Range("A5,B7,C22").Select ?

Laisse-le moi savoir et on verra si on a besoin de
circuler différemment à

l'intérieur des cellules choisies.

Salutations,

Daniel M.


"Denys" wrote in
message

news:1391301c44426$9974a120$
Bonjour Daniel,

Effectivement, je sais quelles sont les cellules ou
l'information doit être entrée.

À l'ouverture du fichier, la cellule active est
Sheet1("A4"). Donc, je voudrais que si l'utilisateur
appuie sur Tab (quoique ça c'est déjà réglé) ou sur
Enter,


il aille à la cellule suivante...

If key = ... or ... then
application.goto range("B7")
end if

Suis-je un peu sur la bonne voie ???

Merci Daniel

Denys


-----Original Message-----
Hello Denys,

Pourquoi ne pas sélectionner les cellules désirées?

Range("A5,B7,C22").Select

La touche Entrée passera de l'une à l'autre
automatiquement. Si tu veux

déterminer l'ordre TOI-MÊME, tu devras écrire une
procédure événement qui passe

automatiquement à la prochaine choisie. Rapplique si tu
ne sais pas comment

faire.

Salutations,

Daniel M.

"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche
entrée.



Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.




.




.





Avatar
docm
Bonjour Denys.
Je te propose, sous toutes réserves, le code suivant, simple et apparemment
efficace.

Amicalement

Dim AdressePrecedente As String
Dim ChangementProgrammer As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If ChangementProgrammer = True Then
AdressePrecedente = Target.Address
ChangementProgrammer = False
Exit Sub
End If

If AdressePrecedente = "" Then
AdressePrecedente = Target.Address
Exit Sub
End If

ChangementProgrammer = True
Select Case AdressePrecedente

Case "$A$5"

Range("B7").Select

Case "$B$7"

Range("C22").Select

Case "$C$22"

Range("D2").Select

Case Else
AdressePrecedente = Target.Address
ChangementProgrammer = False
End Select

End Sub


"Denys" wrote in message
news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys
Avatar
Denys
Bonjour Docm,

Merci infiniment,

Effectivement, ça fonctionne à merveille... très aimable
de ta part...

Bonne fin de semaine

Denys


-----Original Message-----
Bonjour Denys.
Je te propose, sous toutes réserves, le code suivant,
simple et apparemment

efficace.

Amicalement

Dim AdressePrecedente As String
Dim ChangementProgrammer As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As
Excel.Range)


If ChangementProgrammer = True Then
AdressePrecedente = Target.Address
ChangementProgrammer = False
Exit Sub
End If

If AdressePrecedente = "" Then
AdressePrecedente = Target.Address
Exit Sub
End If

ChangementProgrammer = True
Select Case AdressePrecedente

Case "$A$5"

Range("B7").Select

Case "$B$7"

Range("C22").Select

Case "$C$22"

Range("D2").Select

Case Else
AdressePrecedente = Target.Address
ChangementProgrammer = False
End Select

End Sub


"Denys" wrote in
message

news:1384e01c4441b$799f1110$
Bonjour à tous,

Sur une feuille Excel, j'aimerais qu'après avoir enfoncé
la touche "entrée" que l'on aille de la cellule A5 à B7,
ensuite de B7 à C22, etc.... Autrement dit sans ordre
logique... J'ai 22 cellules à entrer de l'info.

Je sais le faire avec Tab, mais pas avec la touche entrée.

Peut être en VBA.

Z'auriez une idée ??

Merci

Denys


.



1 2