Suppression doublons dans une cellule "texte&
Résolu
sanchis81
Messages postés
134
Date d'inscription
Statut
Membre
Dernière intervention
-
sacremento -
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
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:
- Suppression doublons dans une cellule "texte&
- Excel cellule couleur si condition texte - Guide
- Forcer suppression fichier - Guide
- Aller à la ligne dans une cellule excel - Guide
- Doublons photos - Guide
- Transcription audio en texte word gratuit - Guide
4 réponses
Bonjour Michel,
oui, ils sont tous séparés d'un espace:
ex: E121 E316 E125 E78 E96 E879 E451 E846 E21 E125
oui, ils sont tous séparés d'un espace:
ex: E121 E316 E125 E78 E96 E879 E451 E846 E21 E125
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
Merci michel! Ca marche parfaitement! a nouveau mon sauveur!
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
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