De A7 au point suivant
Résolu
Bonjour,
je voudrais faire une macro je pense que on peut pas faire autrement que
quand je clique sur A7 je me déplace vers la première cellule en ligne 7 qui soit pleine et ainsi de suite A8,A9 etc.
merci de votre aide
a bientôt
je voudrais faire une macro je pense que on peut pas faire autrement que
quand je clique sur A7 je me déplace vers la première cellule en ligne 7 qui soit pleine et ainsi de suite A8,A9 etc.
merci de votre aide
a bientôt
1 réponse
-
ContributeurBonsoir,
Tu ne pourras plus écrire dans A7:Axxx.
J'ai donc ajouté un case à cocher sur la feuille pour activer/désactiver le traitement. Sa cellule liée est A2.Private Sub Worksheet_SelectionChange(ByVal Target As Range) If [A2] = False Then Exit Sub If Target.Count > 1 Then Exit Sub If Target.Column > 1 Or Target.Row < 7 Then Exit Sub If Application.CountA(Rows(Target.Row)) - Application.CountA(Cells(Target.Row, 1)) = 0 Then Exit Sub Application.EnableEvents = False If Target.Offset(, 1) = "" Then Target.End(xlToRight).Select Else Target.Offset(, 1).Select End If Application.EnableEvents = True End Sub
https://www.cjoint.com/?DCbxNDS71gK
eric-
-
ContributeurBonjour,
Tu ne pouvais pas le demander tout de suite ? Ca oblige à reprendre toute la logique.
Au 430ème post tu devrais savoir rédiger une demande complète et claire...Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static savRange As Range If [A2] = False Then Exit Sub If Target.Count > 1 Then Exit Sub If Target.Column > 1 Or Target.Row < 7 Then Exit Sub If savRange Is Nothing Then Set savRange = Target If Target.Row <> savRange.Row Then Set savRange = Target Application.EnableEvents = False If Application.CountA(savRange.Offset(, 1).Resize(, Columns.Count - savRange.Column)) = 0 Then savRange.Select Application.EnableEvents = True Exit Sub End If If savRange.Offset(, 1) = "" Then savRange.End(xlToRight).Select Else savRange.Offset(, 1).Select End If Set savRange = ActiveCell Application.EnableEvents = True End Sub
eric -
-