Suppression doublons dans une cellule "texte&

Résolu
sanchis81 Messages postés 138 Statut Membre -  
 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
Configuration: Windows XP Internet Explorer 6.0

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    tes mots sont ils séparés par des espaces?
    0
  2. sanchis81 Messages postés 138 Statut Membre 10
     
    Bonjour Michel,

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

    ex: E121 E316 E125 E78 E96 E879 E451 E846 E21 E125
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. sanchis81 Messages postés 138 Statut Membre 10
     
    Merci michel! Ca marche parfaitement! a nouveau mon sauveur!
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Restons calmes quand m^me! :-p
      Bon WE
      tagge en résolu, merci
      0
      1. sacremento > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        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