Could be the starter relay.As they make contact there is a small arc created between the two plates, over time this causes a build up of carbon on their surface which in turn creates a high resistance preventing enough current being passed to turn the starter. Other times the relay will fire (click, click, click....) as you push the button but the starter won't turn at all.There is a simple test for this but wouldn't want to suggest it if you are not mechanically or electrically competent.Simple solution is to replace it, it's a £6 part and takes about 10 minutes to do.
As always, check your earth connections before doing any further troubleshooting with electrical faults.