Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tablo(), n As Byte, t, plage As Range
If Target.Areas.Count > 1 Then MsgBox "Pas de sélection multiple svp...": Exit Sub
If Target.Row > 1 Then
ReDim tablo(n)
tablo(n) = "1:" & Target.Row - 1
n = n + 1
End If
If Target.Row + Target.Rows.Count - 1 < Rows.Count Then
ReDim Preserve tablo(n)
tablo(n) = Target.Row + Target.Rows.Count & ":" & Rows.Count
n = n + 1
End If
If Target.Column > 1 Then
ReDim Preserve tablo(n)
tablo(n) = Range(Columns(1), Columns(Target.Column - 1)).Address
n = n + 1
End If
If Target.Column + Target.Columns.Count - 1 < Columns.Count Then
ReDim Preserve tablo(n)
tablo(n) = Range(Columns(Target.Column + Target.Columns.Count), Columns(Columns.Count)).Address
n = n + 1
End If
If n Then
For Each t In tablo
Set plage = Union(IIf(plage Is Nothing, Range(t), plage), Range(t))
Next
Application.EnableEvents = False
plage.Select
Application.EnableEvents = True
End If
End Sub