Bonsoir Moanin et job75,
J'ai séché un moment sur ton fichier car la source de données en colonne D contient pas mal d'anomalies et de présentations différentes (je suppose que tu importes cela d'une autre source de données).
La plus perturbante est celle qui apparaît à certaines lignes ou il y a un "blanc" qui en fait n'est pas un "blanc" classique et cela perturbe les tests que tu fais pour isoler le premier pays de la ligne.
Cela se passe notamment sur la ligne ou il y a Gabon (est) --> le blanc se trouvant entre Gabon et la parenthèse est un blanc représenté par le Code 160 alors que le code habituel pour un blanc est 32 (tu sais certainement que chaque caractère ASCII est représenté par un Code dans Excel).
Donc, aussi bien dans tes tests (quand tu testes "blanc" tu ne le trouves pas) et avec la fonction UNIQUE quand on compare on ne trouve pas de doublon car il y a discordance dans les blancs.
Une fois que j'ai compris cela et vu le nombre de cas de figure qui existe dans tes données sources, j'ai finalement opté pour un petit VBA pour éliminer les caractères perturbants et isoler le premier pays de chaque ligne.
J'espère avoir bien compris ton intention à savoir :
extraire le premier pays de chaque ligne et respecter le nom MEME s'il contient plusieurs mots.
Exemple : Côte d'Ivoire, Mali, Burkina Faso devient Côte d'Ivoire
Guinée équatoriale, Cameroun, Gabon devient Guinée équatoriale
Si j'ai bien interprété ta demande, alors tu trouveras en annexe ton classeur que j'ai adapté de la manière suivante :
Colonne D : données sources
Colonne L : première épuration pour enlever les doublons de la colonne D avec la fonction UNIQUE
Colonne M : sélection du premier pays de la colonne L grâce à un VBA qui se lance à l'aide du bouton que j'ai installé en K2. Si tu consultes le VBA, tu verras que je l'ai documenté pour que tu puisses comprendre le raisonnement. C'est un petit VBA et cela ne devrait pas poser problème mais si tu ne comprends pas, n'hésites pas à poser les questions nécessaires.
Colonne O : éliminations des doublons de la colonne M
Colonne P : tri alpha de la colonne O
Naturellement l'ordre de ces colonnes doit être adapté à tes besoins que je ne connais pas.
C'est le principe et la méthode qui sont importants.
Pour isoler le premier pays, j'ai du :
1 lire individuellement chaque ligne de la colonne D
2 charger le contenu dans une variable
3 tester chaque caractère l'un après l'autre après avoir transformé celui-ci d'ASCII en Code Excel
4 trouvé les caractères permettant de trouver la fin du nom soit :
- la première virgule
- trouver le blanc spécial (160) et vérifier que le caractère suivant est soit une "(" soit un "?"
- trouver un blanc normal (32) et vérifier que le caractère qui suit est un "-"
5 introduire en colonne M le nom du pays
6 éliminer en colonne O les doublons
7 trier la colonne O en colonne P
Ouf !
Cela a pris un certain temps... (mis le VBA va très vite...)
J'espère que cela te conviendra.
Bonne continuation
Chris