Bonjour à tous
Très beau classeur de Patrick Mackay permettant de recopier les occurences
uniques d'une colonne dans une autre colonne, découvert sur EXELABO.
Ma question: est il possible de faire la même chose , non pas à partir d'une
colonne mais de plusieurs colonnes( par exemple A, B C et D) , et de ne
recopier qu'une seules occurence en colonne E ?
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
JB
Bonjour,
http://cjoint.com/?dAiAueU5Gx
A B C D Liste départ Liste sans doublons aaa eee aaa bbb fff eee aaa ggg bbb bbb eee fff kkk ggg ddd kkk ddd
Sélectionner D2:D9 =sansdoublons(A2:B9) Valider avec Maj+Ctrl+Entrée
Function SansDoublons(champ As Range) Dim temp() ReDim temp(1 To champ.Count) j = 1 For i = 1 To champ.Count témoin = False For k = 1 To j If temp(k) = champ(i) Then témoin = True Next k If Not témoin And champ(i) <> 0 And champ(i) <> "" Then temp(j) = champ(i): j = j + 1 End If Next i SansDoublons = Application.Transpose(temp) End Function
Voir également autre solution dans PJ
Cordialement JB
Bonjour,
http://cjoint.com/?dAiAueU5Gx
A B C D
Liste départ Liste sans doublons
aaa eee aaa
bbb fff eee
aaa ggg bbb
bbb eee fff
kkk ggg
ddd kkk
ddd
Sélectionner D2:D9
=sansdoublons(A2:B9)
Valider avec Maj+Ctrl+Entrée
Function SansDoublons(champ As Range)
Dim temp()
ReDim temp(1 To champ.Count)
j = 1
For i = 1 To champ.Count
témoin = False
For k = 1 To j
If temp(k) = champ(i) Then témoin = True
Next k
If Not témoin And champ(i) <> 0 And champ(i) <> "" Then
temp(j) = champ(i): j = j + 1
End If
Next i
SansDoublons = Application.Transpose(temp)
End Function
A B C D Liste départ Liste sans doublons aaa eee aaa bbb fff eee aaa ggg bbb bbb eee fff kkk ggg ddd kkk ddd
Sélectionner D2:D9 =sansdoublons(A2:B9) Valider avec Maj+Ctrl+Entrée
Function SansDoublons(champ As Range) Dim temp() ReDim temp(1 To champ.Count) j = 1 For i = 1 To champ.Count témoin = False For k = 1 To j If temp(k) = champ(i) Then témoin = True Next k If Not témoin And champ(i) <> 0 And champ(i) <> "" Then temp(j) = champ(i): j = j + 1 End If Next i SansDoublons = Application.Transpose(temp) End Function