Formal:
* Il n'est pas doué pour... (He is not gifted for...) - This is a more formal way to say it, implying a lack of natural talent.
* Il n'est pas très bon en... (He is not very good at...) - This is also a formal way to say it, but it's slightly less harsh than "doué pour".
Informal:
* Il est pas très fort en... (He's not very strong in...) - This is a more informal way to say it, often used among friends.
* Il n'est pas bon en... (He is not good at...) - This is a more straightforward and informal way to say it.
Example:
* He is not good at math:
* Il n'est pas doué pour les mathématiques. (Formal)
* Il n'est pas très bon en mathématiques. (Formal)
* Il est pas très fort en maths. (Informal)
* Il n'est pas bon en maths. (Informal)
You can also use the verb "savoir" (to know) to express a lack of skill:
* Il ne sait pas bien... (He doesn't know how to...) - This is a more general way to say that someone is not good at something.
Example:
* He is not good at swimming:
* Il ne sait pas bien nager. (He doesn't know how to swim well.)
The best way to say "He is not good at" in French will depend on the specific context and the level of formality you want to use.