Helenemjay - it does sound as if it would be good to get him established in some more mature behaviour, as he sounds a nice little boy, and it would be a shame if he got out of hand.
Do you think he might have any special needs or difficulties that make it hard for him - or has he just got into a mad groove and got used to not listening t you? I am sure that ignoring you ranting on would be good training for not listening to teachers! Not blaming you - it's easy enough to get into! Anyway, it's worth having a good strong consistent effort at getting him back under control, so that any actual special needs can be seen for what they are, not muddled with his antics!
I would sit down and have a long hard think about where the flash points come - which is the moment you lose control, and how you can intervene before it goes too far. he is old enough to understand a system, like star chart for good beahviour, penalty system for bad. tamba started a thread before Christmas about getting her boys to behave - lot of suggestions on their, i think.
Start with a star chart and a penalty system, with a short tun-around period to begin with - maybe just one day. i.e if he gets to the end of the day without shouting at you, he gets a small treat. But you have to ensure that he doesn't get that treat throughout the day. No use promising sweets or tv if that's what he's had access to all day!! Treats to be gained ONLY if he acjieves what is asked. Starting with a short turnaround gives him the ide that it will work for him, he can be good, he does get the reward. Same with a penalty system. But you have to REALLY impose it. if you say 'no sweets' or 'go to room' it has to be acrried through firmly and calmly. And no swets half an hour later, either!
It will take energy, but not as much as ineffective yelling. Sit him down and make him look at you, talk to him in a firm, not pleading, desparate or high-pitched voice. If he won't sit still and listen, hold his arms firmly and calmly until he does. But explain what you want of him clearly, warn him of the consequences, give him one three-second chance to comply, and impose penalties if he dpesn't.
He obviously has a nice nature, so he may well respond quickly when he understands that there ill be more approval and less yelling if he behaves.