For the sake of completeness I am posting this as an answer, too, so it does not get lost in the huge discussion in the comments ;)
First of all, if you want to have multiple values in one column in SQL the set-column is the way to go. See for example here and here. But if you absolutely cannot get around having multiple values in one column and you can guarantee, that they will always occur in the same pattern (comma-separated, no spaces), then you can search for rows that contain 2 specific such values you can do it like this (according to your example)
SELECT * FROM Offres WHERE
(
regions = '15' /*value is the only one in that row, obviously this is not necessary if you look for 2 values at once, but if you would only look for one value at once you MUST include it ;)*/
OR regions LIKE '%,15' /*value is the last value in that row*/
OR regions LIKE '15,%' /*value is the first value in that row*/
OR regions LIKE '%,15,%' /*value is a value somewhere in between other values in that row*/
)
AND
(
regions = '69' /*value is the only one in that row, obviously this is not necessary if you look for 2 values at once, but if you would only look for one value at once you MUST include it ;)*/
OR regions LIKE '%,69' /*value is the last value in that row*/
OR regions LIKE '69,%' /*value is the first value in that row*/
OR regions LIKE '%,69,%' /*value is a value somewhere in between other values in that row*/
)
You can also try that out in this fiddle.