Déplacement automatique d'un champ à un autre

jumboflo

XLDnaute Nouveau
Bonjour à tous,
J'ai crée un tableau excel pour suivre des productivités. j'aimerais qu'une fois le dernier champ de ma 1ère ligne rempli, le système me renvoie directement sur le premier champ de ma ligne suivante. Si vous pouvez m'eclairer, je vous en serais très reconnaissant!!!!!:)
Merci d'avance
 

JORDAN

XLDnaute Impliqué
Re : Déplacement automatique d'un champ à un autre

Bonjour Jumboflo,
Si tu te deplaces de cellule en cellule avec la touche tabulation
en fin de ligne il suffit de faire ENTREE pour retourner à la 1ere cellule
de la ligne suivante.
si cela te vas
bonne journée
 

jumboflo

XLDnaute Nouveau
Re : Déplacement automatique d'un champ à un autre

Merci Jordan pour ta réponse. Mais en fait, les lignes se remplissent par des scan de code barre. J'ai déja fait une modif pour que à chaque saisie, le déplacement se fasse de gauche à droite. Mais une fois tous les champs de ma ligne remplis, je veux qu'il me renvoie exactement à la deuxième case de ma ligne suivante. lorsque je fais Entrée, il va juste à la colonne suivante (du à ma première modif).
Je sais pas si c'est très claire. J'ai peur que ça ne puisse pas se faire très facilement????
 

tototiti2008

XLDnaute Barbatruc
Re : Déplacement automatique d'un champ à un autre

Bonjour à tous,

peut-être en protégeant la feuille et en verrouillant les cellules où on ne veut pas passer ?

un exemple :
 

Pièces jointes

  • Classeur1.xls
    14 KB · Affichages: 62
  • Classeur1.xls
    14 KB · Affichages: 72
  • Classeur1.xls
    14 KB · Affichages: 74

job75

XLDnaute Barbatruc
Re : Déplacement automatique d'un champ à un autre

Bonjour à tous,

Dans la feuille donner le nom Tablo à la zone où devra se trouver le tableau (la définir au besoin en utilisant DECALER et NBVAL).

Puis mettre la macro suivante dans le code de la feuille (clic droit sur l'onglet et visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("Tablo")) Is Nothing Or Target.Count > 1 Then Exit Sub
Dim lig As Long, col As Long
With Range("Tablo")
lig = Target.Row - .Cells(1, 1).Row + 1
col = Target.Column - .Cells(1, 1).Column + 1
If col < .Columns.Count Then
.Cells(lig, col + 1).Select
Else
.Cells(lig + 1, 1).Select
End If
End With
End Sub

A+
 
Dernière édition:

jumboflo

XLDnaute Nouveau
Re : Déplacement automatique d'un champ à un autre

Merci tototiti et job pour vos réponses. J'ai essayé celle de toto: impeccable ça me va super bien. Job je n'ai pas encore essayé la tienne qui est plus compliqué pour un néophyte comme moi. Mais je vais testé.
En tout cas merci pour votre rapidité et pour votre efficacité
 

jumboflo

XLDnaute Nouveau
Re : Déplacement automatique d'un champ à un autre

Merci tototiti et job pour vos réponses. J'ai essayé celle de toto: impeccable ça me va super bien. Job je n'ai pas encore essayé la tienne qui est plus compliqué pour un néophyte comme moi. Mais je vais testé.
En tout cas merci pour votre rapidité et pour votre efficacité
 

jumboflo

XLDnaute Nouveau
Re : Déplacement automatique d'un champ à un autre

Alors pour finir, toto ton idée était bonne et fonctionne bien avec les tabulations. Par contre la douchette réagit comme si je faisais un ENTER et là du coup ça ne marche plus.
Job75, j'ai essayé de faire fonctionner ton code mais je n'ai pas réussi. J'ai donc utilisé "l'appel à un ami". il m'a créé ce code qui fonctionne bien:

Private Sub Worksheet_Change(ByVal Target As Range)
r = ActiveCell.Row
c = ActiveCell.Column
If c > 8 Then
Cells(r + 1, 2).Select
End If
End Sub

En tout cas merci encore pour vos réponses.
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 988
Membres
104 000
dernier inscrit
dinelcia