Try an array formula like this in G2 for value
=IF(COUNTIFS(A$2:A$100,">"&TODAY()-7,B$2:B$100,E2),MAX(IF(A$2:A$100>TODAY()-7,IF(B$2:B$100=E2,C$2:C$100))),"No change")
confirmed with CTRL+SHIFT+ENTER
and copied down
and then for date in F2
=IF(G2="No change","",MIN(IF(A$2:A$100>TODAY()-7,IF(B$2:B$100=E2,IF(C$2:C$100=G2,A$2:A$100)))))
If there's more than one date in the last 7 days for that module where max value occurred that will give you the earliest (change MIN to MAX for the latest)
see here for working sample