supprimer mots ou expressions en double dans une cellule
7 réponses
jipeache
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double
dans la m=EAme cellule, avec d'autres mots, s=E9par=E9s par une virgule.
Comment supprimer les doublons dans la cellule et garder bien sur un
exemplaire du mot.
Exemple :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels,
Attentats =E0 la pudeur, Incendie volontaire, Attentats =E0 la pudeur"
doit devenir :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats =E0 la
pudeur, Incendie volontaire".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Mgr Banni
pas drôle le contenu de cette colonne.... je n'ai pas la réponse à la question posée mais voudrais juste soulever un problème de sémantique : selon moi, "coups mortels" ne peut s'écrire au pluriel ; supposons, en effet, que le premier coup ait donné la mort, les suivants ne sont plus mortels.... ça me fait penser à ce que j'avais pu lire, il y a longtemps et je ne sais plus où, au sujet de Timisoara : les nombreux morts ont été tués par balles Mgr T.B.
"jipeache" a écrit dans le message de news:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
pas drôle le contenu de cette colonne....
je n'ai pas la réponse à la question posée mais voudrais juste soulever un
problème de sémantique : selon moi, "coups mortels" ne peut s'écrire au
pluriel ; supposons, en effet, que le premier coup ait donné la mort, les
suivants ne sont plus mortels....
ça me fait penser à ce que j'avais pu lire, il y a longtemps et je ne sais
plus où, au sujet de Timisoara : les nombreux morts ont été tués par balles
Mgr T.B.
"jipeache" <jipeache@gmail.com> a écrit dans le message de news:
1193382787.398728.248620@o3g2000hsb.googlegroups.com...
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double
dans la même cellule, avec d'autres mots, séparés par une virgule.
Comment supprimer les doublons dans la cellule et garder bien sur un
exemplaire du mot.
Exemple :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels,
Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur"
doit devenir :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la
pudeur, Incendie volontaire".
pas drôle le contenu de cette colonne.... je n'ai pas la réponse à la question posée mais voudrais juste soulever un problème de sémantique : selon moi, "coups mortels" ne peut s'écrire au pluriel ; supposons, en effet, que le premier coup ait donné la mort, les suivants ne sont plus mortels.... ça me fait penser à ce que j'avais pu lire, il y a longtemps et je ne sais plus où, au sujet de Timisoara : les nombreux morts ont été tués par balles Mgr T.B.
"jipeache" a écrit dans le message de news:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
Daniel.C
Bonjour. Sur une idée de JB :
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel "jipeache" a écrit dans le message de news:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
Bonjour.
Sur une idée de JB :
Sub test()
Dim Dico, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
On Error Resume Next
For Each c In Range("A1", Range("A65536").End(xlUp))
tablo = Split(c, ",")
For Each Item In tablo
Item = Application.Trim(Item)
Dico.Add Item, Item
Next Item
c = ""
For Each k In Dico.keys
c = c & ", " & k
Next
c = Left(Right(c, Len(c) - 2), Len(c) - 2)
Next c
End Sub
Cordialement.
Daniel
"jipeache" <jipeache@gmail.com> a écrit dans le message de news:
1193382787.398728.248620@o3g2000hsb.googlegroups.com...
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double
dans la même cellule, avec d'autres mots, séparés par une virgule.
Comment supprimer les doublons dans la cellule et garder bien sur un
exemplaire du mot.
Exemple :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels,
Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur"
doit devenir :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la
pudeur, Incendie volontaire".
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel "jipeache" a écrit dans le message de news:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
jipeache
On 26 oct, 12:02, "Daniel.C" wrote:
Bonjour. Sur une idée de JB :
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel Bonjour,
Merci mais ca marche et ca marche pas ;-) L'élimination des doublons présents en Col1 se fait bien dans les cellules en col2 mais le résultat obtenu est ajouté au résultat suivant et ainsi de suite. Il y a cumul des résultats., vers la fin j'obtiens tous les mots possibles une seule fois. Merci d'avance .
On 26 oct, 12:02, "Daniel.C" <dZZZcolarde...@free.fr> wrote:
Bonjour.
Sur une idée de JB :
Sub test()
Dim Dico, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
On Error Resume Next
For Each c In Range("A1", Range("A65536").End(xlUp))
tablo = Split(c, ",")
For Each Item In tablo
Item = Application.Trim(Item)
Dico.Add Item, Item
Next Item
c = ""
For Each k In Dico.keys
c = c & ", " & k
Next
c = Left(Right(c, Len(c) - 2), Len(c) - 2)
Next c
End Sub
Cordialement.
Daniel
Bonjour,
Merci mais ca marche et ca marche pas ;-)
L'élimination des doublons présents en Col1 se fait bien dans les
cellules en col2 mais le résultat obtenu est ajouté au résultat
suivant et ainsi de suite.
Il y a cumul des résultats., vers la fin j'obtiens tous les mots
possibles une seule fois.
Merci d'avance
.
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel Bonjour,
Merci mais ca marche et ca marche pas ;-) L'élimination des doublons présents en Col1 se fait bien dans les cellules en col2 mais le résultat obtenu est ajouté au résultat suivant et ainsi de suite. Il y a cumul des résultats., vers la fin j'obtiens tous les mots possibles une seule fois. Merci d'avance .
Daniel.C
Exact. Essaie :
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, "" Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) For Each k In Dico.keys Dico.Remove k Next Next c End Sub
Daniel "jipeache" a écrit dans le message de news:
On 26 oct, 12:02, "Daniel.C" wrote:
Bonjour. Sur une idée de JB :
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel Bonjour,
Merci mais ca marche et ca marche pas ;-) L'élimination des doublons présents en Col1 se fait bien dans les cellules en col2 mais le résultat obtenu est ajouté au résultat suivant et ainsi de suite. Il y a cumul des résultats., vers la fin j'obtiens tous les mots possibles une seule fois. Merci d'avance .
Exact. Essaie :
Sub test()
Dim Dico, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
On Error Resume Next
For Each c In Range("A1", Range("A65536").End(xlUp))
tablo = Split(c, ",")
For Each Item In tablo
Item = Application.Trim(Item)
Dico.Add Item, ""
Next Item
c = ""
For Each k In Dico.keys
c = c & ", " & k
Next
c = Left(Right(c, Len(c) - 2), Len(c) - 2)
For Each k In Dico.keys
Dico.Remove k
Next
Next c
End Sub
Daniel
"jipeache" <jipeache@gmail.com> a écrit dans le message de news:
1193397682.095251.137070@y42g2000hsy.googlegroups.com...
On 26 oct, 12:02, "Daniel.C" <dZZZcolarde...@free.fr> wrote:
Bonjour.
Sur une idée de JB :
Sub test()
Dim Dico, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
On Error Resume Next
For Each c In Range("A1", Range("A65536").End(xlUp))
tablo = Split(c, ",")
For Each Item In tablo
Item = Application.Trim(Item)
Dico.Add Item, Item
Next Item
c = ""
For Each k In Dico.keys
c = c & ", " & k
Next
c = Left(Right(c, Len(c) - 2), Len(c) - 2)
Next c
End Sub
Cordialement.
Daniel
Bonjour,
Merci mais ca marche et ca marche pas ;-)
L'élimination des doublons présents en Col1 se fait bien dans les
cellules en col2 mais le résultat obtenu est ajouté au résultat
suivant et ainsi de suite.
Il y a cumul des résultats., vers la fin j'obtiens tous les mots
possibles une seule fois.
Merci d'avance
.
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, "" Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) For Each k In Dico.keys Dico.Remove k Next Next c End Sub
Daniel "jipeache" a écrit dans le message de news:
On 26 oct, 12:02, "Daniel.C" wrote:
Bonjour. Sur une idée de JB :
Sub test() Dim Dico, c As Range Set Dico = CreateObject("Scripting.Dictionary") On Error Resume Next For Each c In Range("A1", Range("A65536").End(xlUp)) tablo = Split(c, ",") For Each Item In tablo Item = Application.Trim(Item) Dico.Add Item, Item Next Item c = "" For Each k In Dico.keys c = c & ", " & k Next c = Left(Right(c, Len(c) - 2), Len(c) - 2) Next c End Sub
Cordialement. Daniel Bonjour,
Merci mais ca marche et ca marche pas ;-) L'élimination des doublons présents en Col1 se fait bien dans les cellules en col2 mais le résultat obtenu est ajouté au résultat suivant et ainsi de suite. Il y a cumul des résultats., vers la fin j'obtiens tous les mots possibles une seule fois. Merci d'avance .
JB
Bonjour, Sous forme d'une fonction:
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
On 26 oct, 09:13, jipeache wrote:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
Bonjour,
Sous forme d'une fonction:
Function SansDoublonsCellule(c)
Set mondico = CreateObject("Scripting.Dictionary")
tbl = Split(c, ",")
For Each i In tbl
If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i)
Next i
temp = ""
For Each e In mondico.items
temp = temp & e & ","
Next
SansDoublonsCellule = Left(temp, Len(temp) - 1)
End Function
http://cjoint.com/?kAoPvWHkSI
JB
On 26 oct, 09:13, jipeache <jipea...@gmail.com> wrote:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double
dans la même cellule, avec d'autres mots, séparés par une virgule.
Comment supprimer les doublons dans la cellule et garder bien sur un
exemplaire du mot.
Exemple :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels,
Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur"
doit devenir :
"Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la
pudeur, Incendie volontaire".
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
On 26 oct, 09:13, jipeache wrote:
Bonjour,
j'ai dans une colonne, parfois, des mots ou groupes de mots en double dans la même cellule, avec d'autres mots, séparés par une virgule. Comment supprimer les doublons dans la cellule et garder bien sur un exemplaire du mot.
Exemple : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Coups mortels, Attentats à la pudeur, Incendie volontaire, Attentats à la pudeur" doit devenir : "Viol, Vol d'argent, Rien au dossier, Coups mortels, Attentats à la pudeur, Incendie volontaire".
Merci d'avance.
jipeache
On 26 oct, 14:41, JB wrote:
Bonjour, Sous forme d'une fonction:
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2. Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) : la macro remplace la version initiale la fonction ne remet pas l'espace après la virgule.)
Parfait et encore merci.
On 26 oct, 14:41, JB <boisgont...@hotmail.com> wrote:
Bonjour,
Sous forme d'une fonction:
Function SansDoublonsCellule(c)
Set mondico = CreateObject("Scripting.Dictionary")
tbl = Split(c, ",")
For Each i In tbl
If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i)
Next i
temp = ""
For Each e In mondico.items
temp = temp & e & ","
Next
SansDoublonsCellule = Left(temp, Len(temp) - 1)
End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2.
Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) :
la macro remplace la version initiale
la fonction ne remet pas l'espace après la virgule.)
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2. Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) : la macro remplace la version initiale la fonction ne remet pas l'espace après la virgule.)
Parfait et encore merci.
JB
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & ", " Next SansDoublonsCellule = Left(temp, Len(temp) - 2) End Function
http://cjoint.com/?kApTvexUkV
JB
On 26 oct, 15:36, jipeache wrote:
On 26 oct, 14:41, JB wrote:
Bonjour, Sous forme d'une fonction:
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2. Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) : la macro remplace la version initiale la fonction ne remet pas l'espace après la virgule.)
Parfait et encore merci.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Function SansDoublonsCellule(c)
Set mondico = CreateObject("Scripting.Dictionary")
tbl = Split(c, ",")
For Each i In tbl
If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i)
Next i
temp = ""
For Each e In mondico.items
temp = temp & e & ", "
Next
SansDoublonsCellule = Left(temp, Len(temp) - 2)
End Function
http://cjoint.com/?kApTvexUkV
JB
On 26 oct, 15:36, jipeache <jipea...@gmail.com> wrote:
On 26 oct, 14:41, JB <boisgont...@hotmail.com> wrote:
Bonjour,
Sous forme d'une fonction:
Function SansDoublonsCellule(c)
Set mondico = CreateObject("Scripting.Dictionary")
tbl = Split(c, ",")
For Each i In tbl
If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i)
Next i
temp = ""
For Each e In mondico.items
temp = temp & e & ","
Next
SansDoublonsCellule = Left(temp, Len(temp) - 1)
End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2.
Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) :
la macro remplace la version initiale
la fonction ne remet pas l'espace après la virgule.)
Parfait et encore merci.- Masquer le texte des messages précédents -
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & ", " Next SansDoublonsCellule = Left(temp, Len(temp) - 2) End Function
http://cjoint.com/?kApTvexUkV
JB
On 26 oct, 15:36, jipeache wrote:
On 26 oct, 14:41, JB wrote:
Bonjour, Sous forme d'une fonction:
Function SansDoublonsCellule(c) Set mondico = CreateObject("Scripting.Dictionary") tbl = Split(c, ",") For Each i In tbl If Not mondico.Exists(Trim(i)) Then mondico.Add Trim(i), Trim(i) Next i temp = "" For Each e In mondico.items temp = temp & e & "," Next SansDoublonsCellule = Left(temp, Len(temp) - 1) End Function
http://cjoint.com/?kAoPvWHkSI
JB
Merci à vous 2. Les 2 fonctionnent, (chacun ses petits inconvénients ;-))) : la macro remplace la version initiale la fonction ne remet pas l'espace après la virgule.)
Parfait et encore merci.- Masquer le texte des messages précédents -