How to display articles based on group combinations of various group types?
I think your understanding of membership is not correct. So first a clarification:


Users can be member of one or more groups.
Content, such as articles, can be assigned (= belong to) a single group.


With that in mind, you may want to try an approach like so:


Create a group type of, say, Regional departments (a single group type should be enough for your case).
Create various groups, of group type Regional departments, named something like so (with names that should be self explaining):


Paris - Sales
Paris - Support
Paris - Accounting
Paris - R&amp;D
Paris
Nice - Sales
Nice - Support
Nice - HRM
Nice

For any user, create group memberships depending on their region (Paris or Nice), and depending on their (what you call) departement (Sales, Support, etc). Special case: for each user, also create a group memberships depending on their region (Paris or Nice).
Whenever you create content (articles), you assign it to the appropriate group. Special case: if you assign it to (e.g) group Nice, then any Nice departement has access to it.


That's really it. But on top of that, you can optionally:


Change to which group an article belongs (e.g from 'Paris - Sales' to 'Nice - Sales', eg when sales territories get reorganized).
Grant or revoke access for selected user(s) to specific content (articles), simply by changing their group memberships (e.g if a user gets tranfered to another departement).