XL 2021 supprimer doublons de 3 colonnes

D10

XLDnaute Junior
Bonjour,

j'ai des données dans mes colonnes C, F et I.
Je souhaite en colonne L, lister ces données sans doublons.

Auriez-vous un moyen de faire cela s'il vous plait ?

merci !

EDIT: ajout du fichier exemple.
 

Pièces jointes

  • Classeur1.xlsx
    9.8 KB · Affichages: 5
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Vous êtes inscrits depuis 2015 et pendant tout ce temps là, vous n'avez pas remarqué que sans fichier exemple anonymisé et dépourvu de données confidentielles, les demandeurs avaient peu de chance d'obtenir réponse.

J'ai ouvert 3 de vos précédents fils et il me semble que ce soit habituel et choisit chez vous, je passe donc mon chemin, sans plus vous ennuyer avec nos exigences.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, @D10, @Hasco

Juste en attendant le fichier exemple
(quoique sans 365, je crains fort que mon petit bout restera coi dans 2021)
VB:
Sub Bus()
Dim b$: b = Intersect(Range("C2:I100"), Range("C2:I100").SpecialCells(2)).Address
[L1].Resize(100) = Evaluate("=UNIQUE(VSTACK(" & b & "))")
End Sub
Mais comme disait Rick : "Ca roule pour moi!" ;)

EDITION: La 1ère version avait un petit souci
Celle-ci est plus courte, avec le souci en moins.

PS: Je vois en revenant que le fichier appelé de ses vœux par @Hasco n'est toujours pas là.
Je me peux donc aller me glisser sous la couette.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

@D10
Sur la base du fichier exemple du message#1 (et donc les possibilités offertes par 365)
VB:
Sub A_L_Ancienne()
Dim Plg As Range, c As Range, i&, d_l&
Set Plg = Range("C5:I11")
i = 0
Application.ScreenUpdating = False
For Each c In Plg.Rows
    c.Copy
    [L5].Offset(i, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    i = i + c.Columns.Count
Next
d_l = Cells(Rows.Count, "L").End(3).Row
Range("L4:L" & d_l).Sort key1:=[L5], order1:=xlAscending, Header:=xlYes
Range("L4:L" & d_l).RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
NB: test OK sur mon PC avec le fichier exemple
 

Staple1600

XLDnaute Barbatruc
@D10

Puisque tu disposes de PowerQuery, une version avec PowerQuery
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Tableau croisé dynamique des colonnes supprimé" = Table.UnpivotOtherColumns(Source, {}, "Attribut", "Valeur"),
    Valeur = #"Tableau croisé dynamique des colonnes supprimé"[Valeur],
    #"Doublons supprimés" = List.Distinct(Valeur),
    #"Converti en table" = Table.FromList(#"Doublons supprimés", Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"Converti en table"
Voici le résultat obtenu
PQ_bCapture.PNG
 
Dernière édition:

D10

XLDnaute Junior
Bonjour, super ça marche sur 365!
merci beaucoup !

j'ai une dernière petite demande suite à la formule ci-dessous :
Sur mon fichier exemple en colonne C, la dernière donnée est en ligne 11, mais parfois elle sera en ligne 20. Est-ce possible de faire en sorte que la formule aille automatiquement jusqu'à la dernière ligne contenant une réelle donnée ? je peux changer C5:C11 en C5:C50 pour etre tranquille, mais après le résultat de la formule générale me donnera une ligne "vide".
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 319
Membres
103 177
dernier inscrit
grizly