Did you try..
spr.SetSubRect(
sf::IntRect(
tileWidth * tilePosInTileSet.x,
tileHeight * tilePosInTileSet.y,
tileWidth * (tilePosInTileSet.x + 1) - 1,
tileHeight * (tilePosInTileSet.y + 1) - 1
);
For 0,0 you get 0,0,31,31
For 1,1 you get 32, 32, 63, 63
etc