Bonjour,
Soit le texte en B3 correspond à une feuille qui n'existe pas, soit, lorsqu'il y a un espace ou un titre d'onglet avec uniquement des nombres, il faut rajouter des cotes (apostrophes) :
INDIRECT("'"&$B$3&"'!...)
Par ailleurs, INDIRECT renvoie une plage obtenue indirectement, il faut donc bien placer les parenthèses :
(INDIRECT(B3&"!$O$3:$O$2000")<>"")
(INDIRECT(B3&"!$G$3:$G$2000")<4)
Cdlt,