Forum Clubic

Excel : Retour debut de ligne

Bonjour a tous,

je voudrais savoir si il existe une fonction ou macro, ou autre chose qui permette de faire un retour en debut de ligne sur excel ??

pour que ce soit plus simple, je m’explique.

je rentre des données sur ma feuille de calcul,
je commence a la ligne A colonne 1.
puis, une fois que j’ai entrée toute mes données, j’arrive a la colonne 15 de la ligne A.

donc, je souhaite que par un procédé, (combinaison de touche ou macro ou fonction, je passe a la ligne B colonne 1.

merci a tous pour votre aide.

CDMT,

Colargol

:stuck_out_tongue:
Voici une macro qui ramene en debut de ligne
Il faut néanmoins avoir validé la derniere saisie
Sub Macro1()
adresse = ActiveCell.Address(1, 1, 0, 0, 0)
longadresse = Len(adresse)
For n = 1 To longadresse
c = Right(adresse, n)
If Left(c, 1) = “C” Then Exit For
Next
ligne = Left(adresse, longadresse - n)
ligne = Right(ligne, Len(ligne) - 1)
newadresse = “A” & ligne
Range(newadresse).Activate
End Sub
Je suppose que tu sais affecter une macro à une combinaison de touches ou à un bouton
:slight_smile:

Salut Colargol,
Je te propose une autre solution.

Si tu veux que le retour automatique ne s’effectue que lors de la saisie :
[fixed]
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim ColDeb, ColFin As Integer

    ColDeb = 1      ' Colonne de départ
    ColFin = 15     ' colonne de fin

    If Target.Column = ColFin Then
        Cells(Target.Row + 1, ColDeb).Select
    End If

End Sub

[/fixed]

Si tu veux que le retour automatique s’effectue même lors du déplacement à l’aide des flêches :
[fixed]
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim ColDeb, ColFin As Integer

    ColDeb = 1      ' Colonne de départ
    ColFin = 15     ' colonne de fin

    If Target.Column = ColFin + 1 Then
        Cells(Target.Row + 1, ColDeb).Select
    End If

End Sub

[/fixed]

Remarques :

  • le tableau va de la colonne ColDeb à la colonne ColFin.
  • Il faut taper le code dans la feuille pour laquelle tu veux activer le retour automatique à la ligne suivante.

“ALT + entrée” = retour chariot dans une cellule

:stuck_out_tongue: Jacky67
Ma macro est du genre laborieux et tes solutions très interessantes
Pendant que nous y sommes aurais-tu une solution pour qu’en fin de saisie on passe à la cellule de droite plutot qu’à celle du bas ?
:slight_smile:

Outils-Options
Onglet Modification
Sens: Droite

Merci
A l’avenir je chercherais un peu plus avant de poser une question idiote

:stuck_out_tongue: PierreJean,

Tout d’abord, désolé, je n’ai pas eu le temps de te répondre que Joueur67 t’a déjà donné la solution…

Ensuite, je dirais qu’en informatique il y a souvent une multitude de solutions, chacun fait à sa façon.
Il n’y a pas de raison de traiter ta macro de “laborieuse”, surtout si elle fonctionne !

En tout cas, merci a tous pour vos reponse !

je fais le test demain ou la semaine prochaine, et je vous tiens informé !!

merci encore !

++ Fred

Bon, j’ai essayé, mais je suis une bille sur excel !

pourriez vous me faire un tit pas a pas pour la mise en place de cette macro !

merci, et encore désolé de mon “ignardise” lool

++

Salut,
As tu essayé de valider tes données en colonne en appuyant sur “tabulation” au lieu de “entrée” et quand tu arrives à la dernière colonne de saisie, tu appuyes sur “entrée” .
Par la touche “tabulation” tu restes sur la même ligne en passant à la colonne suivante.
Par la touche “entrée” tu changes de ligne en revenant à la 1ère colonne.
Ca marche très bien chez moi.
@+

:stuck_out_tongue:
Independement de la solution de 13ber qui parait bien la plus simple
Pour enregistrer une macro:
Outils > Macro > Nouvelle Macro
modifier eventuellement le nom de la macro pour qu’il soit plus explicite
Choisir une lettre à accoupler à Crtl pour l’appeler .Faire OK puis refaire Outils > Macro et cette fois Arreter l’enregistrement . Enfin Outils > Macros
Selectionner la macro et clic sur modifier. Faire un copier/coller ou editer soi-même la macro Attention à ne laisser qu’un titre (sub macro… et un end sub
Repasser sur xl (à gauche de la barre standard et tester par Ctrl+.
:slight_smile:

:stuck_out_tongue:
Une macro plus simple:
Sub Macro2()
ligne = ActiveCell.Row
Cells(ligne + 1, 1).Activate
End Sub
:slight_smile:

@ 13ber :
C’est effectivement très simple et ça fonctionne super bien. Chapeau. Je ne connaissais pas cette possibilité.

@ PierreJean :
On doit même pouvoir simplifier ta macro en une seule ligne “Cells(ActiveCell.Row + 1,1).Activate”.

Tu peux y arriver sans passer par une macro : il faut déprotéger les cellules auxquelles tu souhaites pouvoir accéder, puis protéger la feuille(avec ou sans mot de passe). Ainsi en effectuant les déplacements avec la touche tabulation les changements se font en évitant les cellules “indésirables” même situées au milieu du tableau.
Cette solution te permet également de ne pas “écraser” malencontreusement une formule de calcul ! Toutes les solutions sont bonnes : à toi de choisir celle qui te convient le mieux !

merci a tous pour ces reponses !!

je test tout ca lundi et je vous tiend au courant !

++ Fred

Bon, ta mocro fonctionne nikel !!
et je n’arrive pas a faire fonctionner celle de Jacky67
en début de page !!

il me met une erreur dans la fonction a partir de cette ligne là :

voila !! donc, je vais me servir de la tienne en attendant, mais j’aimerais bien que le retour au debut de colonne ligne suivante
se fasse automatiquement quand je suis arrivé en fin de ligne.

Merci encore !

++ et Have fun !

:stuck_out_tongue:
Chez moi cela fonctionne
Il faut aller dans Vba editor à partir de Outils Macro et selectionner la feuille ou tu veux la sub
Le resultat donne cela:


Tu peux d’ailleursutiliser les 2 solutions ensemble la derniere colonne sera automatique et la macro à n’importe quel endroit
:slight_smile:

Voui, PierreJean a raison : tu vas dans la feuille que tu désires et tu recopies tout ce que j’ai écrit.

Je détaille :

1- tu ouvres l’éditeur VBA par la combinaison de touches + ,

2- tu double-cliques sur le nom de la feuille pour laquelle tu veux utiliser la macro de retour automatique,

3- tu recopies une ou l’autre des deux macro (ou éventuellement les deux…).
Pour te simplifier la vie au maximum, je t’ai même mis le nom des “macro”. Tu dois donc recopier tout ce que j’ai écrit dans le cadre de la macro. Ca commence à “Private Sub…” et ça fini à “End Sub”.