OVH Cloud OVH Cloud

ordre de tabulation

12 réponses
Avatar
Rémi
bonjour,
peut-on dans excel 2003 comme dans access indiquer un ordre de tabulation ?
merci d'avance

2 réponses

1 2
Avatar
Rémi
bonjour,

je te remercie de cette solution qui fonctionne bien. Quoique que je
rencontre un problème avec, que je n'arrive pas à analyser. Il semblerait
que puisque cette fonction reste constamment active, elle "interfère" avec
les autres macros de mon classeur et en empêche la correcte execution.
Aurais-tu une solution ?
je te remercie d'avance
Rémi

"anonymousA" a écrit dans le message de news:
43229c3d$0$308$
bonjour,

ce que je peux te proposer ( à adapter) c'est la chose suivante:

Ecrire dans un module standard

Public arrrng()
Public oldcell As Range
Sub initglobals()

Set oldcell = sheets("toto").Range("A1")
arrrng = Array("A1", "B2", "C4", "D8")

End Sub

puis dans le module de feuille (ici j'ai choisi la feuille toto cf la
déclaration de oldcell )où se situent la séquence de cellules que tu veux
voir respecter, tu écris

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
Application.EnableEvents = False
Range(arrrng(WorksheetFunction.Match(oldcell.Address(0, 0), arrrng,
0))).Select
If Err.Number <> 0 Then Range(arrrng(0)).Select
Set oldcell = ActiveCell
Application.EnableEvents = True

End Sub

Puis dans le module Thisworkbook tu écris

Private Sub Workbook_Open()

initglobals

End Sub


Dans ces conditions, à l'ouverture du classeur, les variables publiques
oldcell et arrrng seront initialisées.
Lorsque tu seras sur ta feuille, quelque soit le mode de sélection choisi
, tu seras toujours orienté sur la feuille selon la séquence
"A1" puis "B2" puis "C4"puis "D8" puis retour à "A1"

A toi d'adapter si tu souhaites une séquence différente et surtout si tu
souhaites que le passage de l'une à l'autre des cellules soit controlé
parl'existence d'une occurence particulière dans la cellule précédente.

A+

bonjour Patrick,
hélas, j'avais déjà pensé à cette solution. Ma question serait plutôt
comment fait on pour se déplacer dans des cellules avec un ordre bien
précis. Est-ce possible ?
bon week-end
Rémi


"Patrick BASTARD" a écrit dans le
message de news:

Bonjour, *Rémi*

Excel 2002 :
Outils, Options, Onglet Mdification, cocher Déplacer la cellule après
validation, et choisir haut, bas, droite ou gauche.
A noter que tu peux restreindre les déplacements sur certaines cellules
en les protégeant, et en cochant les bons arguments lors de la protection
de ta feuille.
Cela répond-il à ta problématique ?

--
Bien amicordialement,
P. Bastard



bonjour,
peut-on dans excel 2003 comme dans access indiquer un ordre de
tabulation ? merci d'avance











Avatar
anonymousA
bonjour,

En l'absence des autres procédures, il serait bien présomptueux de ma
part de tenter une réponse.
Si tu veux que j'y voies plus clair, et si tu le souhaites, tu peux
envoyer ton fichier à
Par ailleurs, il me semble cependant que la solution préconisée par AV
est cependant plus complète que celle que j'ai pu te faire parvenir.

A+


bonjour,

je te remercie de cette solution qui fonctionne bien. Quoique que je
rencontre un problème avec, que je n'arrive pas à analyser. Il semblerait
que puisque cette fonction reste constamment active, elle "interfère" avec
les autres macros de mon classeur et en empêche la correcte execution.
Aurais-tu une solution ?
je te remercie d'avance
Rémi

"anonymousA" a écrit dans le message de news:
43229c3d$0$308$

bonjour,

ce que je peux te proposer ( à adapter) c'est la chose suivante:

Ecrire dans un module standard

Public arrrng()
Public oldcell As Range
Sub initglobals()

Set oldcell = sheets("toto").Range("A1")
arrrng = Array("A1", "B2", "C4", "D8")

End Sub

puis dans le module de feuille (ici j'ai choisi la feuille toto cf la
déclaration de oldcell )où se situent la séquence de cellules que tu veux
voir respecter, tu écris

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next
Application.EnableEvents = False
Range(arrrng(WorksheetFunction.Match(oldcell.Address(0, 0), arrrng,
0))).Select
If Err.Number <> 0 Then Range(arrrng(0)).Select
Set oldcell = ActiveCell
Application.EnableEvents = True

End Sub

Puis dans le module Thisworkbook tu écris

Private Sub Workbook_Open()

initglobals

End Sub


Dans ces conditions, à l'ouverture du classeur, les variables publiques
oldcell et arrrng seront initialisées.
Lorsque tu seras sur ta feuille, quelque soit le mode de sélection choisi
, tu seras toujours orienté sur la feuille selon la séquence
"A1" puis "B2" puis "C4"puis "D8" puis retour à "A1"

A toi d'adapter si tu souhaites une séquence différente et surtout si tu
souhaites que le passage de l'une à l'autre des cellules soit controlé
parl'existence d'une occurence particulière dans la cellule précédente.

A+


bonjour Patrick,
hélas, j'avais déjà pensé à cette solution. Ma question serait plutôt
comment fait on pour se déplacer dans des cellules avec un ordre bien
précis. Est-ce possible ?
bon week-end
Rémi


"Patrick BASTARD" a écrit dans le
message de news:


Bonjour, *Rémi*

Excel 2002 :
Outils, Options, Onglet Mdification, cocher Déplacer la cellule après
validation, et choisir haut, bas, droite ou gauche.
A noter que tu peux restreindre les déplacements sur certaines cellules
en les protégeant, et en cochant les bons arguments lors de la protection
de ta feuille.
Cela répond-il à ta problématique ?

--
Bien amicordialement,
P. Bastard




bonjour,
peut-on dans excel 2003 comme dans access indiquer un ordre de
tabulation ? merci d'avance













1 2