"teveel" is een zelfstandig naamwoord: "Er is een teveel aan mensen".
"veel" is een bijvoeglijk naamwoord (of noem je dat een bepaling?) waar het bijwoord "te" voor kan worden gezet: "Er zijn te veel mensen".
Bij twijfel: als je te[?]veel (waarbij je niet zeker weet of er een spatie tussen moet of niet) kunt vervangen door "te weinig" dan moet het met spatie, als je het kunt vervangen door "tekort" of "gebrek" dan zonder spatie.
(edit) laat maar, de link van Ger legt het al helder uit
In theory, there's no difference between theory and practice. In practice, there is.