I'm going to have a go at my flatmate about his messiness
Why are you so upset about your roommate's messy habits?
I think there is something wrong with him. Did he have no mother to raise him?
It might give you a temporary release to yell at your roommate for being messy, but it doesn't make it right. Work with him to change his bad habits instead.
Should I give him a warning?
A warning would be good but sitting down and having a discussion with him would be better. It would also help to discuss other things with him so that you get along better.