I want to enable HTTPS for my website on pages where data is sent by the user (forms, comments etc).
Does it make sense to enable it only when a page uses forms or is it easier to enable globally?
If not globally, do I also need it on search?
You should enable it globally, otherwise you'll be vulnerable to the situation where an attacker modifies the unencrypted form to send all the user data to evilserver.com rather than to the one you want (or, since the attacker is actively listening, modify the form action to use HTTP instead of HTTPS).
You may also get into a configuration headache encrypting only on selective paths. It's usually easier just to encrypt everything, and it will prevent the aforementioned attack.