Suppression doublons dans une céllule

Bonjour,

pourriez-vous m'aider pour trouver une macro qui supprime les chaines de de caractères en double dans la même cellule. ces chaines de caractères sont espacées par un retour à la ligne.

je précise que les doublons se trouvent dans même cellule espacées par un saut de ligne.

exemple doublons dans meme cellule

bonjour,

une proposition double

via une macro qui supprime tous les doubles trouvés dans les cellules sélectionnées avant le lancement de la macro.

lancer la macro via Alt-F8 et choisir test,ATTENTION la macro remplace le contenu de la cellule par le contenu sans double

via une fonction personnalisée à appeler

=elimdouble(chaineàexaminer)

par exemple

=elimdouble(A1)

Function elimdouble(s As String) As String
Dim a As Variant
s = Replace(s, vbCrLf, "*")
s = Replace(s, vbNewLine, "*")
s = Replace(s, Chr$(13), "*")
s = Replace(s, Chr(10), "*")
a = Split(s, "*")
For i = LBound(a, 1) To UBound(a, 1) - 1
If a(i) <> "" Then
 For j = i + 1 To UBound(a, 1)
  If a(j) <> "" And a(i) = a(j) Then a(j) = ""
 Next j
End If
Next i
For i = LBound(a, 1) To UBound(a, 1)
If a(i) <> "" Then st = st & sep & a(i)
If sep = "" Then sep = vbCrLf
Next i
elimdouble = st
End Function

Sub test()
For Each c In Selection
c.Value = elimdouble(c.Value)
Next
End Sub

Super en plus ça marche ! Merci h2so4 pour votre aide.

j'espère comprendre un jour les ingrédients de votre fonction, mais pour le moment ce que je sais c'est qu'elle ma bien aidé 8) .

Cdlt

Rechercher des sujets similaires à "suppression doublons"