Finite number of subgroups $\Rightarrow$  finite group I'm trying to prove that any group $G$ of infinite order has an infinite number of subgroups.

I think that if the group has an element of infinite order, then it's easy because I can take the groups generated by the powers of this element.

What if it doesn't? Every element generates a cyclic subgroup. Every element belongs to at least one cyclic subgroup (that generated by itself). So the group is the union of its cyclic subgroups. If all these are finite, we would have to have an infinite collection of subgroups anyway.

Is that correct?
Yes, it's correct, though perhaps somewhat disorganized.

The fact that a group is a union of its cyclic subgroups holds regardless of any hypothesis on the group. So you can state and prove that first.

Then: an infinite cyclic group has infinitely many (cyclic) subgroups. So, a group is infinite if and only if it has infinitely many cyclic subgroups: If the group is finite, then it has only finitely many subsets, so finitely many subgroups, so finitely many cyclic subgroups. If the group is infinite, then being a union of its cyclic subgroups, either one of the cyclic subgroups is infinite (and hence there will be infinitely many cyclic subgroups, since that subgroup has infinitely many cyclic subgroups), or else there are infinitely many finite cyclic subgroups in the union. Either way you are done.

That is your argument, just organized a bit more.
I might be oversimplifying, but it seems to me that if G has infinite elements, it has an infinite number of cyclic subgroups, one for each g in G.