Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changement de cellule automatique

12 réponses
Avatar
JulieH
Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F,
je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la
ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle
mais je suis un peu bloquée.

Merci par avance

Julie

10 réponses

1 2
Avatar
Daniel
Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de news:

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F, je
veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me retrouver
automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la ligne
suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle mais
je suis un peu bloquée.

Merci par avance

Julie


Avatar
JulieH
Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne,
faire Entrée (et/ou flèche droite si possible) et revenir à la colonne A
(x + 1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de news:

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F, je
veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me retrouver
automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la ligne
suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle mais
je suis un peu bloquée.

Merci par avance

Julie






Avatar
Daniel
Tu veux dire :
Peux-tu donner un exemple bien détaillé de ce que tu veux ? J'ai du mal à
comprendre.
Daniel
"JulieH" a écrit dans le message de news:
%
Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne, faire
Entrée (et/ou flèche droite si possible) et revenir à la colonne A (x +
1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de
news:
Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F,
je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la
ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle
mais je suis un peu bloquée.

Merci par avance

Julie







Avatar
JulieH
J'ai mis un petit exemple dans Cjoint :
http://cjoint.com/?fzkI5EFNK7

J'espère avoir été plus claire.

Julie

Tu veux dire :
Peux-tu donner un exemple bien détaillé de ce que tu veux ? J'ai du mal à
comprendre.
Daniel
"JulieH" a écrit dans le message de news:
%
Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne, faire
Entrée (et/ou flèche droite si possible) et revenir à la colonne A (x +
1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de
news:
Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F,
je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la
ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle
mais je suis un peu bloquée.

Merci par avance

Julie









Avatar
FFO
Salut à toi
La solution de Daniel fonctionne trés bien sauf effectivement pour tous les
cas où tu ne saisies rien en colonne F l'évennement utilisé étant déclenché
sur le changement de la valeur des cellules de la colonne F donc
obligatoirement pour les cellule vide une saisie quelconque

Je te propose en plus du code de Daniel toujour dans le VBA de la feuille de
rajouter ce code qui s'inspire de celui de Daniel mais qui réagit au double
click :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

En résumé colonne F :
changement de la valeur de la cellule avec entrée ou double click : ligne
suivante Cellule A
aucun changement notamment si aucune saisie avec double click : ligne
suivante cellule A

J'espère que la solution te conviens
Dis moi !!!


Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne,
faire Entrée (et/ou flèche droite si possible) et revenir à la colonne A
(x + 1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de news:

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F, je
veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me retrouver
automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la ligne
suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle mais
je suis un peu bloquée.

Merci par avance

Julie









Avatar
JulieH
Bonjour et merci également pour t'intéresser à mon problème,

Ta proposition correspond bien à ce que je souhaite réaliser : à
savoir, aller à la ligne suivante en colonne A même si je ne saisis
rien. Et cela fonctionne.

Malheureusement, je ne pourrai pas utiliser le doucle click car je
n'aurai pas de souris dans le contexte. C'est pour cela que je parle
toujours des touches "Entrée ou flèche droite).

Julie


Salut à toi
La solution de Daniel fonctionne trés bien sauf effectivement pour tous les
cas où tu ne saisies rien en colonne F l'évennement utilisé étant déclenché
sur le changement de la valeur des cellules de la colonne F donc
obligatoirement pour les cellule vide une saisie quelconque

Je te propose en plus du code de Daniel toujour dans le VBA de la feuille de
rajouter ce code qui s'inspire de celui de Daniel mais qui réagit au double
click :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

En résumé colonne F :
changement de la valeur de la cellule avec entrée ou double click : ligne
suivante Cellule A
aucun changement notamment si aucune saisie avec double click : ligne
suivante cellule A

J'espère que la solution te conviens
Dis moi !!!


Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne,
faire Entrée (et/ou flèche droite si possible) et revenir à la colonne A
(x + 1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton exemple,
après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de news:

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F, je
veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me retrouver
automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je valide
une cellule de la colonne F, je me retrouve dans la colonne A de la ligne
suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle mais
je suis un peu bloquée.

Merci par avance

Julie









Avatar
Daniel
Le fait d'appuyer sur la touche "Entrée" ne peut pas être détecté s'il n'y a
pas de saisie. Est-ce que tu peux saisir un espace avant d'appuyer sur
"entrée" ? Ou utilise le double clic préconisé par FFO.
Pour le déplacement avec "flèche droite", ajoute la macro (qui se déclenche
quand tu passes de la colonne F en colonne G) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 7 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Daniel
"JulieH" a écrit dans le message de news:

J'ai mis un petit exemple dans Cjoint :
http://cjoint.com/?fzkI5EFNK7

J'espère avoir été plus claire.

Julie

Tu veux dire :
Peux-tu donner un exemple bien détaillé de ce que tu veux ? J'ai du mal à
comprendre.
Daniel
"JulieH" a écrit dans le message de
news: %
Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne,
faire Entrée (et/ou flèche droite si possible) et revenir à la colonne A
(x + 1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton
exemple, après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de
news:
Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F,
je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je
valide une cellule de la colonne F, je me retrouve dans la colonne A
de la ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle
mais je suis un peu bloquée.

Merci par avance

Julie











Avatar
Corto
Bonjour JulieH
Une solution sans macro : tu déverrouille les colonnes A à F et tu
protèges la feuille en décochant "Sélectionner les cellules verrouillées"
ensuite tu vas dans Outils -> Options et sur l'onglet Modification tu
sélectionne sens => bas (en dessous de "déplacer la sélection après
validation"

Corto

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à
F, je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je
valide une cellule de la colonne F, je me retrouve dans la colonne A de
la ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure
événementielle mais je suis un peu bloquée.

Merci par avance

Julie


Avatar
JulieH
Dommage que rien ne détecte la touche "Entrée".

La dernière idée me permet d'avancer.

Merci beaucoup pour ton aide.

Julie


Le fait d'appuyer sur la touche "Entrée" ne peut pas être détecté s'il n'y a
pas de saisie. Est-ce que tu peux saisir un espace avant d'appuyer sur
"entrée" ? Ou utilise le double clic préconisé par FFO.
Pour le déplacement avec "flèche droite", ajoute la macro (qui se déclenche
quand tu passes de la colonne F en colonne G) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 7 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Daniel
"JulieH" a écrit dans le message de news:

J'ai mis un petit exemple dans Cjoint :
http://cjoint.com/?fzkI5EFNK7

J'espère avoir été plus claire.

Julie

Tu veux dire :
Peux-tu donner un exemple bien détaillé de ce que tu veux ? J'ai du mal à
comprendre.
Daniel
"JulieH" a écrit dans le message de
news: %
Bonjour et merci pour ta réponse,

Evidemment, tu as raison, il y avait un problème dans mon explication.

Malgré tout la macro convient parfaitement pour ce que je souhaitais
réaliser.

Il reste un petit problème : la procédure fonctionne très bien si je
saisis une valeur en F, mais pas dans le cas contraire. Il faudrait
prévoir la "non saisie de valeur" dans une cellule de cette colonne,
faire Entrée (et/ou flèche droite si possible) et revenir à la colonne A
(x + 1).

Julie



Bonjour.
D'après ce que tu expliques dans le second paragraphe, dans ton
exemple, après la saisie en F1, tu dois te retrouver en A2, pas en B1 ?
Mets la macro suvante dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 6 Or Target.Count > 1 Then Exit Sub
Cells(Target.Row + 1, 1).Select
End Sub

Cordialement.
Daniel
"JulieH" a écrit dans le message de
news:
Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A à F,
je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je
valide une cellule de la colonne F, je me retrouve dans la colonne A
de la ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure événementielle
mais je suis un peu bloquée.

Merci par avance

Julie














Avatar
JulieH
Bonjour et merci pour ta réponse,

Solution difficile à utiliser dans mon fichier car je dois déjà
utiliser le sens "Droit" pour le reste de la saisie.

Julie


Bonjour JulieH
Une solution sans macro : tu déverrouille les colonnes A à F et tu
protèges la feuille en décochant "Sélectionner les cellules verrouillées"
ensuite tu vas dans Outils -> Options et sur l'onglet Modification tu
sélectionne sens => bas (en dessous de "déplacer la sélection après
validation"

Corto

Bonjour à toutes et tous,

A nouveau besoin de votre aide pour un petit problème.

Je réalise des saisies sur la ligne 1 par exemple de la colonne A
à F, je veux lorsque j'ai saisi dans la cellule F1, faire Entrée et me
retrouver automatiquement en B1.

D'une manière plus générale, je souhaite qu'à chaque fois que je
valide une cellule de la colonne F, je me retrouve dans la colonne A
de la ligne suivante.

D'après ce que j'ai lu, il faut utiliser une procédure
événementielle mais je suis un peu bloquée.

Merci par avance

Julie




1 2