Comment changer l'ordre "de tabulation" des cellules

andrea73

XLDnaute Nouveau
Bonjour à tous

je suis nouveau sur le forum et je suis heureux de poser ma première question...

j'ai crée un "pseudo formulaire" sur une feuille et je souhaite le remplir en suivant un ordre de tabulation précis... j'explique :

dans les cellules A1:B5 se trouvent les coordonnées des "zones à saisir", elles sont dans l'ordre souhaité
A=ligne, B=colonne
3,6
5,6
6,6
3,8
4,8
etc...

je souhaite que le curseur de cellule se deplace en suivant cet ordre

j'espere que les explications sont assez claires, sinon je fabriquerai un XLS de demo

merci à tous
 

andrea73

XLDnaute Nouveau
Re : Comment changer l'ordre "de tabulation" des cellules

Bonjour

Merci pour la rapidité de la proposition

comme dit nono une question bien posée est déjà une solution

donc je reformule ma question par ce que la solution ne répond pas exactement au problème...

plus de précisions dans le fichier "corrigé" que tu m'avais joint

Merci
 

Pièces jointes

  • 328810d1424600639-comment-changer-lordre-de-tabulation-des-cellules-tabul.xlsm
    19.1 KB · Affichages: 139

camarchepas

XLDnaute Barbatruc
Re : Comment changer l'ordre "de tabulation" des cellules

Re ,

Et oui , donc suite à ce compléments d'informations ....
 

Pièces jointes

  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    14.1 KB · Affichages: 161
  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    14.1 KB · Affichages: 135
  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    14.1 KB · Affichages: 166

andrea73

XLDnaute Nouveau
Re : Comment changer l'ordre "de tabulation" des cellules

Bonjour et merci une fois plus...

mais ce n'est tjs pas la bonne réponse...

j'avais déjà pensé à cette solution de protection de feuille, cpdt elle ne me convient pas !

je veux en effet pouvoir modifier mon "tableau de l'ordre de tabulations" pour que les cellules qui y sont référencées soient sélectionnées dans cette ordre précis

si par exemple dans A:B (cellules bleues) j'ai (3-6,5-8,6-6,3-8,4-8) la solution avec protection ne fonctionne pas... désolé mais (re)merci quand même pour ta réponse
 

camarchepas

XLDnaute Barbatruc
Re : Comment changer l'ordre "de tabulation" des cellules

Andréa ,

Bon , je joue à nouveau .

Seule les cases bleues sont accessibles ainsi que les cellules désignées par celle-ci .
La tabulation ce réalise uniquement sur les cases grises .

le changement de feuille réinitialise le pointeur à la premiere cellule .
 

Pièces jointes

  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    72.7 KB · Affichages: 237
  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    72.7 KB · Affichages: 171
  • comment-changer-l_ordre-de-tabulation-des-cellules.xlsm
    72.7 KB · Affichages: 207

andrea73

XLDnaute Nouveau
Re : Comment changer l'ordre "de tabulation" des cellules

bonjour

c'est exactement ce que je souhaitais ... !

merci pour toutes tes réflexxxxxions, je ne pensais pas la chose aussi compliquée... je vais pouvoir adapter ce formulaire à mon logiciel beaucoup plus complet
mais en tout cas "merci camarchpas puis que cà marche"

je te laisse aux autres XLDnautes

à bientôt
 

PMO2

XLDnaute Accro
Re : Comment changer l'ordre "de tabulation" des cellules

Bonjour,

Une autre approche en mémorisant l'ordre des tabulations dans un objet Collection.
Les tabulations sont définies en colonne A d'une autre feuille pour une question de praticité et de non ingérence sur la feuille test.
La feuille des tabulations doit être renseignée à partir de A1 jusqu'à An et peut être masquée.

Code à copier dans la fenêtre de code de la feuille concernée
Code:
Dim myColl As New Collection

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim S As Worksheet
Dim R As Range
'---
If myColl.Count = 0 Then
  Set S = Sheets("___Tabulations")
  For Each R In S.[a1].CurrentRegion
    myColl.Add CStr(R), CStr(R)
  Next R
End If
'---
Set R = ActiveSheet.Range(myColl(1))
Application.EnableEvents = False
If Not Target Is R Then R.Select
Application.EnableEvents = True
If myColl.Count > 0 Then myColl.Remove 1
End Sub
 

Pièces jointes

  • Fixer l'ordre des tabulations d'une feuille Excel.xlsm
    18.7 KB · Affichages: 136

MJ13

XLDnaute Barbatruc
Re : Comment changer l'ordre "de tabulation" des cellules

Bonjour à tous

Sinon, on peut ausi faire ainsi de façon à appuyer sur la touche Enter pour valider chaque case à prendre en compte:

Dans Thisworkbook:

Code:
Private Sub Workbook_Open()
Sheets(2).Select
Sheets(1).Select
End Sub

Et dans la Feuil1:

Code:
Private Sub Worksheet_Activate()
Cells(3, 6).Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$F$4" Then Cells(5, 6).Select
If ActiveCell.Address = "$F$6" Then Cells(6, 6).Select
If ActiveCell.Address = "$F$7" Then Cells(3, 8).Select
If ActiveCell.Address = "$H$4" Then Cells(4, 8).Select
If ActiveCell.Address = "$H$5" Then Cells(3, 6).Select
End Sub
 

Touna

XLDnaute Junior
Re : Comment changer l'ordre "de tabulation" des cellules

Bonjour,
J'ai encore besoin de vos lumières, j'ai opté pour la solution de PMO2, en m'aidant du fichier "Fixer l'ordre des tabulations d'une feuille Excel.xlsm".
Cette solution me va très bien et répond à une partie de mes besoins, sauf que j'aimerai avoir la possibilité de reprendre la main avec la souris pour revenir en arrière ou sélectionner la cellule de mon choix.
Merci d'avance,
Touna
 
Dernière édition:

PMO2

XLDnaute Accro
Re : Comment changer l'ordre "de tabulation" des cellules

sauf que j'aimerai avoir la possibilité de reprendre la main avec la souris pour revenir en arrière ou sélectionner la cellule de mon choix.

Bonjour,

Il faut stopper (puis réactiver) l'événement Worksheet_SelectionChange.

1) copiez le code suivant dans la fenêtre de code de la feuille concernée
Code:
Dim myColl As New Collection

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim S As Worksheet
Dim R As Range
'---
If Not BoolStopTabulation Then  '///ajout
  If myColl.Count = 0 Then
    Set S = Sheets("___Tabulations")
    For Each R In S.[a1].CurrentRegion
      myColl.Add CStr(R), CStr(R)
    Next R
  End If
  '---
  Set R = ActiveSheet.Range(myColl(1))
  Application.EnableEvents = False
  If Not Target Is R Then R.Select
  Application.EnableEvents = True
  If myColl.Count > 0 Then myColl.Remove 1
End If    '///ajout
End Sub

2) copiez le code suivant dans un module Standard
Code:
Public BoolStopTabulation As Boolean

Sub StopAndGo_Tabulation()
BoolStopTabulation = Not BoolStopTabulation
End Sub

La procédure StopAndGo_Tabulation peut être relié à un Bouton, une combinaison de touches avec OnKey OU lancée directement par la boîte de dialogue "Macro".
 

Pièces jointes

  • Fixer l'ordre des tabulations d'une feuille Excel 2.00.xlsm
    19.4 KB · Affichages: 126

Discussions similaires