Emirates does fly to both cities, although currently only once a week to Venice (on Saturdays). That would be the most efficient and easiest journey time wise, but probably not the most cost effective. Having a quick look at random dates, the Emirates option was about $500 more per person in Economy that taking a two stop journey with Singapore Airlines/Lufthansa. That doesn't take into account any extra hotel nights you might have to spend in Venice if the arrival day isn't suitable.
You shouldn't need to buy a stand alone one way fare as everything can be ticketed into Venice and out of Barcelona.
PM me if you'd like to know more specifics.
FTM