Voilà le code qu'il te faut... Ne t'étonne pas du fait qu'il soit court
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("firef"), Target) Is Nothing Then Affichindref
End Sub
Dans ton code, la modification est détecté (CHAQUE modification est détecté par Worksheet_Change) mais ton code compare si l'adresse de la cellule qui est modifié - par ex. "F4" est la même que l'adresse de la plage "F4:G4" => ce qui n'est pas le cas.
Plutôt que de comparer les dex adresses, il faut vérifier si la cellule modifiée et la range sont une intersection. En VBA, cela peut être fait avec la fonction Intersect.