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.
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
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.
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 ?
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 !
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.
@+
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+.
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 !
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.
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”.