I copied and pasted your code - no problems.
Your error points to line 95, which is not in your cut down code. So please post the full code.
Also - remove ieee.std_logic_signed from your code. You dont need it because you are using numeric_std.
My code is:
Library ieee;
USE ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library ieee_proposed;
use ieee_proposed.fixed_pkg.all;
ENTITY HjulEnkoderNxt IS
PORT (TACHO0,TACHO1: IN STD_LOGIC;
Clock : IN STD_LOGIC;
distanse :OUT ufixed(8 downto -4));
END HjulEnkoderNxt;
ARCHITECTURE Behavior OF HjulEnkoderNxt IS
SIGNAL scalingfactor : sfixed(2 downto -4);
SIGNAL TACHO0prev,TACHO1prev : STD_LOGIC;
SIGNAL pulses : SIGNED(5 DOWNTO 0);
SIGNAL position : sfixed(8 DOWNTO -4);
SIGNAL pulsesSfixed : sfixed(5 DOWNTO 0);
SIGNAL result : ufixed(8 DOWNTO -4);
BEGIN
scalingfactor<=to_sfixed(1.0,scalingfactor);--Setter verdien til skaleringsfaktoren.
PROCESS(TACHO0,TACHO1,Clock,pulses)
BEGIN
IF rising_edge(Clock) THEN
IF (TACHO0='0' AND TACHO1='0') THEN
IF (TACHO0prev='1' AND TACHO1prev='0') THEN
TACHO0prev<='0';
TACHO1prev<='0';
ELSIF (TACHO0prev='0' AND TACHO1prev='1') THEN
TACHO0prev<='0';
TACHO1prev<='0';
ELSIF (TACHO0prev='0' AND TACHO1prev='0') THEN
TACHO0prev<='0';
TACHO1prev<='0';
END IF;
ELSIF(TACHO0='0' AND TACHO1='1') THEN
IF (TACHO0prev='0' AND TACHO1prev='1') THEN
TACHO0prev<='0';
TACHO1prev<='1';
ELSIF(TACHO0prev='0' AND TACHO1prev='0') THEN
pulses<=pulses-1;
TACHO0prev<='0';
TACHO1prev<='1';
ELSIF(TACHO0prev='0' AND TACHO1prev='0') THEN
pulses<=pulses-1;
TACHO0prev<='0';
TACHO1prev<='1';
ELSIF(TACHO0prev='1' AND TACHO1prev='1') THEN
TACHO0prev<='0';
TACHO1prev<='1';
END IF;
END IF;
IF (TACHO0='1' AND TACHO1='1') THEN
IF (TACHO0prev='1' AND TACHO1prev='1') THEN
TACHO0prev<='1';
TACHO1prev<='1';
ELSIF(TACHO0prev='1' AND TACHO1prev='0') THEN
pulses<=pulses+1;
TACHO0prev<='1';
TACHO1prev<='1';
ELSIF(TACHO0prev='0' AND TACHO1prev='1') THEN
pulses<=pulses-1;
TACHO0prev<='1';
TACHO1prev<='1';
ELSIF(TACHO0prev='1' AND TACHO1prev='0') THEN
TACHO0prev<='1';
TACHO1prev<='1';
END IF;
END IF;
IF (TACHO0='1' AND TACHO1='0') THEN
IF (TACHO0prev='1' AND TACHO1prev='0') THEN
TACHO0prev<='1';
TACHO1prev<='0';
ELSIF (TACHO0prev='0' AND TACHO1prev='0') THEN
pulses<=pulses+1;
TACHO0prev<='1';
TACHO1prev<='0';
ELSIF (TACHO0prev='1' AND TACHO1prev='1') THEN
TACHO0prev<='1';
TACHO1prev<='0';
END IF;
END IF;
pulsesSfixed<=to_sfixed(pulses,5,0);
position<=Scalingfactor*pulsesSfixed;
distanse<=to_ufixed(position);--Conversion from sfixed to ufixed (Line 94)
END IF;
END PROCESS;
END Behavior;
Quartus message: Error (10476): VHDL error at hjulenkodernxt.vhd(94): type of identifier "position" does not agree with its usage as "UNSIGNED" type