Bonjour,
soit ta recherche doit comporter toute la feuille, dans ce cas, il te faut juste éviter de prendre en compte F14, alors voilà le code modifié :
Sub Chercher()
Dim Plage As Range
Dim Cel As Range
Dim Adr As String
Dim I As Long
Set Plage = DefPlage(ActiveSheet) 'L étant optionnel, ne pas l'indiquer revient à inscrire 1 pour la première ligne
If Range("F14").Value = "" Then Exit Sub
Erase Tbl(): J = 0
Set Cel = Plage.Find(Range("F14").Value, , xlValues, xlPart)
If Not Cel Is Nothing Then
Adr = Cel.Address
Do
If Cel.Address(0, 0) <> "F14" Then 'évite la zone de recherche qui va obligatoirement faire partie du lot
I = I + 1: ReDim Preserve Tbl(1 To I)
Tbl(I) = Cel.Address
End If
Set Cel = Plage.FindNext(Cel)
Loop While Cel.Address <> Adr
Range(Tbl(1)).Select: J = 1
End If
End Sub
et dans le cas où la recherche doit débuter sous F14 (donc, à partir de la ligne 15) dans ce cas, il te faut juste adapter l'argument optionnel "L" (pour Ligne) dans l'appel de la fonction DefPlage() de cette façon :
Sub Chercher()
Dim Plage As Range
Dim Cel As Range
Dim Adr As String
Dim I As Long
Set Plage = DefPlage(ActiveSheet, 15) '<--- seulement à partir de la ligne 15
If Range("F14").Value = "" Then Exit Sub
Erase Tbl(): J = 0
Set Cel = Plage.Find(Range("F14").Value, , xlValues, xlPart)
If Not Cel Is Nothing Then
Adr = Cel.Address
Do
I = I + 1: ReDim Preserve Tbl(1 To I)
Tbl(I) = Cel.Address
Set Cel = Plage.FindNext(Cel)
Loop While Cel.Address <> Adr
Range(Tbl(1)).Select: J = 1
End If
End Sub