Or, to avoid system tables which can and do change:
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.ROUTINES AS r
WHERE ROUTINE_TYPE = 'PROCEDURE'
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning