Récupérer valeurs cellules sans doublons

rudymagny

XLDnaute Occasionnel
Bonjour le forum,
Je viens vers vous car je voudrais récupérer dans une cellule le contenu de deux colonnes mais sans doublons.

Je met un fichier en exemple.

Merci d'avance à vous
 

Pièces jointes

  • Question_XLD_13062010.xls
    20 KB · Affichages: 124

rudymagny

XLDnaute Occasionnel
Re : Récupérer valeurs cellules sans doublons

Je viens de voir que je n'avais pas été poli, bonjour à Staple1600 et kjin.

J'ai trouvé un exemple qui pourrait me convenir, c'est celui de BOISGONTIER :
https://www.excel-downloads.com/threads/recuperer-2-colonnes-sans-doublons.120729/

mais le résultat de sa macro supprime les doublons d'une colonne dans une autre colonne mais comment puis je faire pour récupérer la liste dans une même cellule séparée de / ? (comme dans mon fichier exemple)

merci
 

kjin

XLDnaute Barbatruc
Re : Récupérer valeurs cellules sans doublons

Re,
Code:
Sub rudy()
Set d = CreateObject("Scripting.Dictionary")
With Sheets("Feuil2")
    Set r1 = .Range("C3:C" & .Range("C65000").End(xlUp).Row)
    Set r2 = .Range("E3:E" & .Range("E65000").End(xlUp).Row)
    For Each c In r1
        If Not d.Exists(c.Value) Then
            d.Add c.Value, c.Value
            Txt = Txt & c & " / "
        End If
    Next c
    For Each c In r1
        If Not d.Exists(c.Value) Then
            d.Add c.Value, c.Value
            Txt = Txt & c & " / "
        End If
    Next c
End With
Sheets("Feuil1").Range("C5") = Left(Txt, Len(Txt) - 3)
End Sub
A+
kjin
 

Cousinhub

XLDnaute Barbatruc
Re : Récupérer valeurs cellules sans doublons

Bonsoir,

une autre façon de faire, avec l'objet "Dictionary"

Code:
Sub unique()
Dim LesValeurs As Object
Dim Cel As Range, Plg As Range
With Sheets("Feuil2")
    Set Plg = Union(.Range(.[C3], .[C65000].End(xlUp)), .Range(.[E3], .[E65000].End(xlUp)))
    Set LesValeurs = CreateObject("Scripting.Dictionary")
    For Each Cel In Plg
        If Cel.Value <> "" Then LesValeurs(Cel.Value) = Cel.Value
    Next Cel
End With
Sheets("Feuil1").Range("C5").Value = Join(LesValeurs.Items, " / ")
End Sub

Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : Récupérer valeurs cellules sans doublons

Bonjour à tous

Une variation sur une variation

(prétexte à pouvoir saluer le trop rare bhbh ;) )

Code:
Sub unik()
Dim LesValeurs As Object, Cel As Range, Plg As Range
With Sheets("Feuil2")
    Set Plg = .UsedRange.SpecialCells(xlCellTypeConstants, 23)
    Set LesValeurs = CreateObject("Scripting.Dictionary")
    For Each Cel In Plg
    LesValeurs(Cel.Value) = Cel.Value
    Next Cel
End With
Sheets("Feuil1").Range("C5") = Join(LesValeurs.Items, " / ")
End Sub
 

rudymagny

XLDnaute Occasionnel
Re : Récupérer valeurs cellules sans doublons

Bonjour à tous,
Je reviens un peu tard et je peux remarquer que les méthodes sont nombreuses et je vous remercie pour toutes ces informations.

Je suis parti avec la méthode de kjin qui me convient le mieux pour l'instant.

Je remercie tous.
 

rudymagny

XLDnaute Occasionnel
Re : Récupérer valeurs cellules sans doublons

Bon je reviens à la charge car j'essaye de faire évoluer le code en y insérant une condition.
Je met un fichier en pièce jointe.

Je ne prend en compte que les valeurs ou le "offset à -1" est égal à TENP.

mais il bloque car le Txt est vide.

Je dois me tromper sur le offset?

Merci d'avance

Je cherche aussi de mon côté.
 

Pièces jointes

  • Question_XLD_14062010.xls
    37 KB · Affichages: 94

Statistiques des forums

Discussions
312 273
Messages
2 086 699
Membres
103 372
dernier inscrit
BibiCh