[excel vba]retourner a la ligne
Résolu/Fermé
iliesss
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
-
7 oct. 2010 à 20:58
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 13 oct. 2010 à 13:43
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 13 oct. 2010 à 13:43
A voir également:
- [excel vba]retourner a la ligne
- Aller à la ligne excel - Guide
- Retourner ecran windows - Guide
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si et excel - Guide
8 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
11 oct. 2010 à 19:58
11 oct. 2010 à 19:58
Bonjour
Colle ce code dans la feuille contenant le tableau, il renvoie à la ligne lorsque tu appuie sur une touche Entrée dans la dernière colonne de ton tableau (la colonne 3) :
Patrice
Colle ce code dans la feuille contenant le tableau, il renvoie à la ligne lorsque tu appuie sur une touche Entrée dans la dernière colonne de ton tableau (la colonne 3) :
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Worksheet_SelectionChange(ByVal Target As Range) Const n°C As Integer = 3 'N° de la dernière colonne du tableau If Target.Column = n°C Then If GetAsyncKeyState(vbKeyReturn) = -32768 Then Application.EnableEvents = False Target.Offset(0, 1 - n°C).Select Application.EnableEvents = True End If End If End Sub
Patrice
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 11/10/2010 à 22:03
Modifié par Mike-31 le 11/10/2010 à 22:03
Re,
Il est difficile de comprendre les attentes, sur les propositions faites, aucune réponse n'apporte la preuve d'un disfonctionnement ou d'informations complémentaires.
Avec des:
-mais ca n'a pas marché
-mais ca marche pas
-mais tu m a pas bien comprie
-Ah si un code glané qui renvoi sur la cellule A2, il suffisait d'écrire [A2].select et le tour était joué
Egalement persuadé que les fonctions de base d'Excel suffisentà traiter cette demande, à part que l'on souhaite revenir systématiquement sur la première cellule de la ligne inférieure quelque soit la position de la cellule active, ce code volatile à tester, pour la première utilisation associer la macro test à un bouton que l'on active une fois ensuite le code réagit avec la touche Entrée
Sub test()
Application.OnKey "~", "Retour_Chariot"
End Sub
Sub Retour_Chariot()
Cells(ActiveCell.Row, 1).Offset(1, 0).Select
End Sub
Pour ma part je ne suis pas devin et je viens de casser ma boule de cristal.
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Il est difficile de comprendre les attentes, sur les propositions faites, aucune réponse n'apporte la preuve d'un disfonctionnement ou d'informations complémentaires.
Avec des:
-mais ca n'a pas marché
-mais ca marche pas
-mais tu m a pas bien comprie
-Ah si un code glané qui renvoi sur la cellule A2, il suffisait d'écrire [A2].select et le tour était joué
Egalement persuadé que les fonctions de base d'Excel suffisentà traiter cette demande, à part que l'on souhaite revenir systématiquement sur la première cellule de la ligne inférieure quelque soit la position de la cellule active, ce code volatile à tester, pour la première utilisation associer la macro test à un bouton que l'on active une fois ensuite le code réagit avec la touche Entrée
Sub test()
Application.OnKey "~", "Retour_Chariot"
End Sub
Sub Retour_Chariot()
Cells(ActiveCell.Row, 1).Offset(1, 0).Select
End Sub
Pour ma part je ne suis pas devin et je viens de casser ma boule de cristal.
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
salut Mr Mike j'ai un autre problème.
je veux transformer ses lignes dans un code vb excel.
Je veux faire une condition
i=1,2,3,4,5,6,......... jusqu'à la fin du tableau.
SI la cellule "Di" est sélectionné ou activé et si elle porte la valeur "ilies" ALORS
aller dans la cellule "Fi"
SI NON allez dans la cellule "Gi"
Et merci
je veux transformer ses lignes dans un code vb excel.
Je veux faire une condition
i=1,2,3,4,5,6,......... jusqu'à la fin du tableau.
SI la cellule "Di" est sélectionné ou activé et si elle porte la valeur "ilies" ALORS
aller dans la cellule "Fi"
SI NON allez dans la cellule "Gi"
Et merci
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
7 oct. 2010 à 23:18
7 oct. 2010 à 23:18
Salut
essaye un de ces deux codes à coller dans la Thiswokbook pour l'application à toutes les feuilles du classeur ou dans la propriété de la feuille concernée, qui lorsque tu saisis une valeur en C la touche Entrée te renvoie en A1
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
[A1].Select
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
[A1].Select
End If
End Sub
essaye un de ces deux codes à coller dans la Thiswokbook pour l'application à toutes les feuilles du classeur ou dans la propriété de la feuille concernée, qui lorsque tu saisis une valeur en C la touche Entrée te renvoie en A1
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
[A1].Select
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
[A1].Select
End If
End Sub
iliesss
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
9 oct. 2010 à 19:32
9 oct. 2010 à 19:32
merci Mr Mike mais ca n'a pas marché
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 8/10/2010 à 00:19
Modifié par Patrice33740 le 8/10/2010 à 00:19
Bonsoir,
Il n'y a besoin d'aucune macro ni d'aucune option particulière pour faire ce que tu demandes, c'est le fonctionnement normal d'Excel lorsqu'on se sert du clavier.
Pour passer d'une cellule à celle de la colonne adjacente il faut appuyer sur Tab (de A1 vers B1, de B1 vers C1), arrivé au bout de tableau il suffit d'appuyer sur Enter pour revenir au début de la ligne suivante (de C1 vers A2, de C2 vers A3, ...)
Par contre, le simple fait d'utiliser la souris pour sélectionner une cellule (clic gauche ou droit) désigne cette cellule comme étant la première cellule du tableau, avec Tab on passe à la cellule suivante et Enter passe à la ligne suivante dans la même colonne que cette cellule désignée à la souris.
D'autre part je ne comprend pas comment tu fais pour cliquer sur la touche Enter, à la rigueur, tu peux te servir de la souris pour appuyer sur la touche, mais pour cliquer ?
Patrice
Nicolas dit toujours : « C'est facile quand on connait la réponse ! »
Il n'y a besoin d'aucune macro ni d'aucune option particulière pour faire ce que tu demandes, c'est le fonctionnement normal d'Excel lorsqu'on se sert du clavier.
Pour passer d'une cellule à celle de la colonne adjacente il faut appuyer sur Tab (de A1 vers B1, de B1 vers C1), arrivé au bout de tableau il suffit d'appuyer sur Enter pour revenir au début de la ligne suivante (de C1 vers A2, de C2 vers A3, ...)
Par contre, le simple fait d'utiliser la souris pour sélectionner une cellule (clic gauche ou droit) désigne cette cellule comme étant la première cellule du tableau, avec Tab on passe à la cellule suivante et Enter passe à la ligne suivante dans la même colonne que cette cellule désignée à la souris.
D'autre part je ne comprend pas comment tu fais pour cliquer sur la touche Enter, à la rigueur, tu peux te servir de la souris pour appuyer sur la touche, mais pour cliquer ?
Patrice
Nicolas dit toujours : « C'est facile quand on connait la réponse ! »
iliesss
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
9 oct. 2010 à 19:38
9 oct. 2010 à 19:38
merci Mr Patrice mais tu m a pas bien comprie.
essaie ce code
Sub test()
Range("c1").Select
Application.OnKey "~", "go"
End Sub
Sub go()
Range("a2").Select
End Sub
lorsque tu click sur entree tu trouve eu A2.mois je veux faire ca pour tous le tableau
essaie ce code
Sub test()
Range("c1").Select
Application.OnKey "~", "go"
End Sub
Sub go()
Range("a2").Select
End Sub
lorsque tu click sur entree tu trouve eu A2.mois je veux faire ca pour tous le tableau
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
8 oct. 2010 à 07:42
8 oct. 2010 à 07:42
Bonjour tout le monde,
Autre possibilité :
dans menu 'outils / options...' onglet 'modification' mettre 'déplacer la sélection après validation' à : 'droite'
Ensuite il suffit de sélectionner la plage A1:C12 avant de commencer les saisies.
Ainsi chaque ligne sera saisie avant de passer au début de la suivante.
eric
Autre possibilité :
dans menu 'outils / options...' onglet 'modification' mettre 'déplacer la sélection après validation' à : 'droite'
Ensuite il suffit de sélectionner la plage A1:C12 avant de commencer les saisies.
Ainsi chaque ligne sera saisie avant de passer au début de la suivante.
eric
iliesss
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
9 oct. 2010 à 19:39
9 oct. 2010 à 19:39
merci Mr eric mais ca marche pas
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
9 oct. 2010 à 22:36
9 oct. 2010 à 22:36
merci Mr eric mais ca marche pas
si
As-tu tout lu et tout fait ? Je ne pense pas
si
As-tu tout lu et tout fait ? Je ne pense pas
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 9/10/2010 à 21:37
Modifié par Mike-31 le 9/10/2010 à 21:37
Re,
peut être n'avons nous pas bien compris tes attentes
colle ce code dans les propriétés de ta feuille (clic droit sur l'onglet/visualiser le code)
Range("C:C") peut être modifié pour se limiter à une plage ex Range("C2:C100")
Le code ci-dessous fonctionne également avec la touche Tabulation (lorsque tu as saisi une valeur en C soit tu clic sur Entrée ou Tabulation)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
Target.Offset(1, -2).Select
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
peut être n'avons nous pas bien compris tes attentes
colle ce code dans les propriétés de ta feuille (clic droit sur l'onglet/visualiser le code)
Range("C:C") peut être modifié pour se limiter à une plage ex Range("C2:C100")
Le code ci-dessous fonctionne également avec la touche Tabulation (lorsque tu as saisi une valeur en C soit tu clic sur Entrée ou Tabulation)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
Target.Offset(1, -2).Select
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 12/10/2010 à 20:29
Modifié par Mike-31 le 12/10/2010 à 20:29
Re,
Non je ne suis pas le meilleur, le principal est de comprendre ou plutôt deviner les attentes. Dans ce coup j'ai su lire entre les lignes, c'est ton bout de code qui m'a mis la puce à l'oreille.
Si c'est ce que tu cherchais, il faut peut être améliorer le code de sorte que la cellule active ne revienne pas à la ligne chaque fois que tu cliques sur Entrée afin de pouvoir travailler sur ton tableau mais que le retour ligne se fasse lorsque tu atteins une colonne exemple la D
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Non je ne suis pas le meilleur, le principal est de comprendre ou plutôt deviner les attentes. Dans ce coup j'ai su lire entre les lignes, c'est ton bout de code qui m'a mis la puce à l'oreille.
Si c'est ce que tu cherchais, il faut peut être améliorer le code de sorte que la cellule active ne revienne pas à la ligne chaque fois que tu cliques sur Entrée afin de pouvoir travailler sur ton tableau mais que le retour ligne se fasse lorsque tu atteins une colonne exemple la D
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 12/10/2010 à 21:26
Modifié par Mike-31 le 12/10/2010 à 21:26
PS: petite précision, en activant la fonction OnKey "{RETURN}",
le code s'appliquera sur tous les fichiers ouverts ou à ouvrir tant que cette application ne sera pas désactivée. Pour désactiver cette fonction soit on ferme l'application Excel soit on écrit un bout de code associé à un bouton
le code s'appliquera sur tous les fichiers ouverts ou à ouvrir tant que cette application ne sera pas désactivée. Pour désactiver cette fonction soit on ferme l'application Excel soit on écrit un bout de code associé à un bouton
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 13/10/2010 à 13:43
Modifié par Patrice33740 le 13/10/2010 à 13:43
Bonjour
Puisque tu as créé un post pour ton nouveau problème :
https://forums.commentcamarche.net/forum/affich-19444072-excel-vba-faire-une-condition-if
Peux-tu mettre celui-ci en résolu
Puisque tu as créé un post pour ton nouveau problème :
https://forums.commentcamarche.net/forum/affich-19444072-excel-vba-faire-une-condition-if
Peux-tu mettre celui-ci en résolu
11 oct. 2010 à 20:04
Je maintiens ce que j'ai dit au post 3 : pas besoin de macro pour faire ce qu'excel sait déjà faire.
C'est peut-être au demandeur de faire un effort de compéhension...
eric
Modifié par Patrice33740 le 11/10/2010 à 20:27
Effectivement ça fonctionne (mais ça change le comportement habituel de la touche entrée).
Ce que j'ai expliqué au post 2 fonctionne aussi (c'est le fonctionnement normal d'excel).
J'avais osé croire qu'il est plus simple d'apprendre à utiliser Excel normalement plutôt que de vouloir créer un mode de fonctionnement spécifique à un classeur, mais voila, il persiste !
Cette macro (bien inutile !!!) devrait répondre à sa demande.
Cordialement
Patrice
11 oct. 2010 à 20:58
Rassure-toi, ce n'est pas directement ta réponse qui m'a gêné (et toi ça a dû t'intéresser de chercher..).
C'est plus certains utilisateurs qui veulent obligatoirement une macro, dès qu'il y a une fonctionnalité d'excel qu'ils ne savent pas utiliser, plutôt que d'essayer, d'apprendre et être autonomes ensuite.
Bonne soirée :-)
eric
12 oct. 2010 à 20:04
12 oct. 2010 à 20:18
je veux transformer ses lignes dans un code vb excel.
Je veux faire une condition
i=1,2,3,4,5,6,......... jusqu'à la fin du tableau.
SI la cellule "Di" est sélectionné ou activé et si elle porte la valeur "ilies" ALORS
aller dans la cellule "Fi"
SI NON allez dans la cellule "Gi"
Et merci