Bonsoir,
Un début de réponse à adapter !?
Cdlt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const R As String = "G7:R11"
Dim lCol As Long, n As Double, Rng As Range
If Not Intersect(Target, Me.Range(R)) Is Nothing And Target.Count = 1 Then
lCol = Target.Column - Me.Range(R).Column + 1
Set Rng = Me.Range(R).Cells(1, lCol).Resize(5)
n = WorksheetFunction.Count(Rng)
If n = 5 Then Rng.Cells(1).Offset(-1).Select
End If
End Sub