Filtra también la tabla genera_oferta por el mes que te piden
CREATE Procedure Ejemplo (@FechaBuscar datetime) as
select sum(numero_linea.subtotal),articulos.codigo_articu lo
from articulos,numero_linea
where articulos.codigo_articulo=numero_linea.codigo_arti culo and datepart(mm,ticket.fecha)=datepart(mm, @FechaBuscar ) and datepart(yyyy,ticket.fecha)=datepart(yyyy, @FechaBuscar )
group by articulos.codigo_articulo
HAVING ((articulos.Codigo_articulo) Not In (select codigo_articulo from genera_oferta WHERE datepart(mm, genera_oferta.fecha)=datepart(mm, @FechaBuscar ) and datepart(yyyy, genera_oferta.fecha)=datepart(yyyy, @FechaBuscar )));
RETURN
Supongo que esto es lo que pides
Un saludo