I checked how quickly the virus spread in each country (all the cases are neatly reported with timelines for each country on
Wikipedia). It takes between 6 and 11 days for the number of cases to be multiplied by 10. A few examples:
Iran : 6 days to pass from 90 to 900 cases, then 11 days to pass from 900 to 9000 cases
Italy : 8 days to pass from 150 to 1500, and 11 days to pass from 1000 to 10000 cases.
France : 8.5 days to pass from 100 to 1000 cases
Spain : 8 days to pass from 120 to 1200 cases
Germany : 9 days to pass from 110 to 1100 cases
Switzerland : 7.5 days to pass from 40 to 400 cases
Belgium : 6 days to pass from 23 to 230 cases
Netherlands : 7.5 days to pass from 50 to 500 cases
Sweden : 7 days to pass from 50 to 500 cases
UK : 8.5 days to pass from 45 to 450 cases
USA : 7 days to pass from 100 to 1000 cases
As of today, there about 22,500 reported cases in Europe and 1000 in the USA. If the diffusion speed is sustained, there should be over 200,000 cases in Europe by 19 March, 2 million cases by 27 March and 20 million by 4 April. If we consider that only a fraction of cases get reported (only the minority with moderate to severe symptoms), it is reasonable to assume that most of the European population will have been infected by the end of April, although most people won't even notice it.
The pandemic started later in the USA, so by the same calculation we would have 10,000 officially reported cases by 19 March, 100,000 by 27 March, 1 million by 4 April, 10 million by 11 April and 100 million by 19 April (although I very much doubt that the authorities are going to test millions of people considering the costs and how 90% of people only get mild symptoms). In any case, by the end of April I suspect that the virus will have spread around most of the population in Europe and North America.
Since China cannot afford to keep its people self isolated for months, the virus will start again spreading once people go back to work/school.