I don't think you are counting your days quite right. If you are arriving on the 1st and want to be in Barcelona on the 5th then you have 3 days, not four, on the costa Brava (the 2nd, 3rd, and 4th). What is your goal for those days? Little towns, beaches, etc. As stated above, I would not 'waste' much time on beaches in Europe but i guess it depends on where you are from. You also only really have 3 days in Barcelona - the 5th you are traveling, and the 9th you are leaving - so you have the 6th , 7th, and 8th. That's not much time for a first trip to Barcelona. Also - you plan to pick up a car on your arrival day to drive to where ever you are planning to stay in the Costa Brava? That's a bad idea after a long haul flight.
You also only have two days in Venice once you figure in traveling. A better plan might be to skip 'staying' in the Costa Brava - this will eliminate the need for a car and also eliminate one hotel stay. Add two days to Barcelona and on one of them do a day trip to Girona and/or other town in the Costa Brava. The other 'extra' day spend in Barcelona. Then add the other two nights to Venice. If you end up with what you feel is too many days there are a ton of great day trip options from Venice. Also if your reason for the Costa Brava was beach then when you are in Venice you can go to the beach as a day trip (Lido).
Your amount of time in Rome is good, you might even be able to get in a day trip form there (I like Orvieto).