Suppression doublons dans une cellule "texte&

Résolu/Fermé
sanchis81 Messages postés 134 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 2 octobre 2013 - 22 mai 2009 à 15:11
 sacremento - 21 févr. 2010 à 18:20
Bonjour à tous,

existe-t-il une formule excel qui permette de supprimer n'importe quel doublon dans le texte d'une cellule? En gros, j'aimerais ne jamais retrouver 2 fois le même mot dans le texte d'une cellule.

merci d'avance.

Sanchis81
A voir également:

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 mai 2009 à 15:29
Bonjour,

tes mots sont ils séparés par des espaces?
0
sanchis81 Messages postés 134 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 2 octobre 2013 10
22 mai 2009 à 15:32
Bonjour Michel,

oui, ils sont tous séparés d'un espace:

ex: E121 E316 E125 E78 E96 E879 E451 E846 E21 E125
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 mai 2009 à 16:42
ci joint une fonction personnalisée à défaut d'une formule: c'est pas ce que j'ai fait de mieux mais..

Function enlever_double(adresse As Range) As String
Dim tablo, cptr As Byte, texto As String
Dim coll As New Collection

tablo = Split(adresse.Value)

For cptr = 0 To UBound(tablo)
    On Error Resume Next
        coll.Add tablo(cptr), CStr(tablo(cptr))
    On Error GoTo 0
Next

cptr = 0
For cptr = 1 To coll.Count
    texto = texto & coll(cptr) & " "
Next

enlever_double = texto
Set coll = Nothing
End Function

0
sanchis81 Messages postés 134 Date d'inscription mardi 17 février 2009 Statut Membre Dernière intervention 2 octobre 2013 10
22 mai 2009 à 17:01
Merci michel! Ca marche parfaitement! a nouveau mon sauveur!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 mai 2009 à 17:07
Restons calmes quand m^me! :-p
Bon WE
tagge en résolu, merci
0
sacremento > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
21 févr. 2010 à 18:20
LinkBack Outils de la discussion
Vieux 11/07/2007, 22h18 #16 (permalink)
myDearFriend!
XLDnaute Barbatruc

Avatar de myDearFriend!

Date d'inscription: février 2005
Messages: 2 490

Par défaut Re : Je n'arrive pas à faire marcher la macro !!!
Bonsoir cephalotus, allegro50, pierrejean, lacorse33, ODVJ,

A mon avis, tant qu'à faire une fonction personnalisée, autant qu'elle puisse être utilisée directement depuis la feuille de calcul.

Dans un module de code standard ("Module1" par exemple) :
Code:

DANS UN MODULE DE CODE STANDARD

Function EpureDoublon(R As Range) As String
'myDearFriend! - www.mdf-xlpages.com
Dim Dbl As New Collection
Dim TabTemp As Variant
Dim L As Byte, N As Byte
'Crée un tableau de mots (séparateur "-")
TabTemp = Split(R.Text, "-")
'Reconstitue la chaine en extrayant les mots doublons
For L = 0 To UBound(TabTemp, 1)
N = Dbl.Count
On Error Resume Next
Dbl.Add TabTemp(L), CStr(TabTemp(L))
On Error GoTo 0
If Dbl.Count > N Then 'Si pas de doublon alors alimente la chaine résultat
EpureDoublon = EpureDoublon & IIf(EpureDoublon <> "", "-", "") & TabTemp(L)
End If
Next L
End Function

Puis en cellule B2, tu saisies =EpureDoublon(A2)
Et tu tires ensuite cette formule vers le bas.

La détection des doublons se fait grâce à un objet collection. Méthode de J.Walkenbach (basée sur une astuce de J.G. Hussey)

Cordialement,
Fichiers attachés
Type de fichier : zip mDF_Exemple.zip (10,8 Ko, 6 affichages)
__________________
Didier_mDF

www.mdf-xlpages.com
0