Suppression de doublons texte dans la même cellule

Bonjour à tous, merci d'avance pour le temps que vous m'accorderez.

Pour dépanner un de mes responsable je me suis lancé dans un excel qui dépasse mes compétences, peu importe, avec beaucoup de recherches google, de formules à rallonge et de bonne volonté je suis presque arrivé au résultat que je souhaite.

Mon dernier problème :

Je me retrouve avec une cellule, disons A1, qui comprend un liste de nom et prénom d'employés chaque chaîne de caractère étant séparé par un ou plusieurs espaces, je veux afficher cette liste sur une msgbox via un bouton, ca ca marche pas de soucis. Le problème c'est que j'ai beaucoup de doublons dans ma cellule A1 et que je ne veux pas qu'un même nom apparaisse plusieurs fois.

Je pensais avoir trouvé la solution avec la fonction suivante :

Function SansDoublon(c, sep)

a = Split(Application.Trim(c), sep)

Set mondico = CreateObject("Scripting.Dictionary")

For i = 0 To UBound(a): mondico.Item(a(i)) = 1: Next i

SansDoublon = Join(mondico.keys, sep)

End Function

Malgré tous mes essais mon résultats est toujours #VALEUR! quand j'utilise la fonction "sansdoublon".

J'y ai passé la journée alors maintenant je me résigne à demander de l'aide.

Merci d'avance

Bonjour,

Il n'y a pas de problème.

Boisgontier

8classeur1.xlsm (14.21 Ko)

Merci pour la réponse rapide. Et oui je suis bien d'accord sur ton exemple cela fonctionne très bien, d'ailleurs ca me fait réaliser que mon soucis doit venir de mes formules CONCAT en amont.

Est-ce qu'un grand nombre d'espaces consécutifs peuvent générer une erreur dans la fonction sansdoublon ?

Je viens de réaliser quelquechose, si j'utilise la fonction "sansdoublon" sur une cellule comprenant peu de mots cela fonctionne, par contre dès que je veux le faire sur une cellule avec beaucoup de mots j'ai le résultat #VALEUR!, cette fonction est-elle limité à un certain nombre de caractère ?

Essayez celle ci

Function SansDoublon2(c, sep)
  k = c
  a = Split(Application.Trim(k), sep)
  Set dico = CreateObject("Scripting.Dictionary")
  For i = 0 To UBound(a)
    temp = a(i)
    dico(temp) = ""
  Next i
  SansDoublon2 = Join(dico.keys, sep)
End Function

Boisgontier

15classeur1.xlsm (15.42 Ko)

Cela fonctionne parfaitement ! merci infiniment

Merci!

Rechercher des sujets similaires à "suppression doublons texte meme"