Suppression doublons dans une cellule "texte& [Résolu/Fermé]

Signaler
Messages postés
134
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
2 octobre 2013
-
 sacremento -
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

4 réponses

Messages postés
16082
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 février 2020
2 875
Bonjour,

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

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

ex: E121 E316 E125 E78 E96 E879 E451 E846 E21 E125
Messages postés
16082
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 février 2020
2 875
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

Messages postés
134
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
2 octobre 2013
10
Merci michel! Ca marche parfaitement! a nouveau mon sauveur!
michel_m
Messages postés
16082
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 février 2020
2 875
Restons calmes quand m^me! :-p
Bon WE
tagge en résolu, merci
> michel_m
Messages postés
16082
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 février 2020

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