'....En public... car je dois utiliser cette variable ailleurs
Public plage_trouve As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage1, plage2, plage3, plage4, plage5, plage6, plage_var As Range
Dim i As Integer
'......................
Set plage1 = Range("D5:D18")
Set plage2 = Range("F5:F18")
Set plage3 = Range("H5:H18")
Set plage4 = Range("D22:D35")
Set plage5 = Range("F22:F35")
Set plage6 = Range("F22:F35")
'---détection de la plage----
i = 1
Set plage_var = "plage" & i
Do While i <= 6
If Not Intersect(ActiveCell, plage_var)) Is Nothing Then
Set plage_trouve = plage_var
Exit Sub
Else
i = i + 1
End If
Loop
End Sub