Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

AdvancedFilter Action:=xlFilterCopy sans doublon...

1 réponse
Avatar
Yvan
Bonjour,

Je souhaite extraire sans doublon une liste d'une base de données. J'utilise
la formule suivante :

.Range(.Cells(2, 3), .Cells(a, 3)).AdvancedFilter
Action:=xlFilterCopy, CopyToRange:=Sheets("Infos").Range("B14"), Unique:=True

"a" étant la dernière ligne de la base de données. Je commence à la deuxième
ligne pour ne pas considérer l'en-tête de la colonne.

Les premières lignes de la base contiennent le même élément et du coup, il
apparait deux fois dans la liste extraite. Comment faire pour qu'il
apparaisse bien qu'une seule fois ???

--
Merci pour vos réponses.

1 réponse

Avatar
MichDenis
Bonjour Yvan,

J'ai supposé que la feuille source de tes données était "Feuil1"
et que ta liste était en colonne C:C

En C1 : en-tête de colonne obligatoire pour un filtre élaboré
En C2 : début des données jusqu'en Cx

et copie du résultat vers Sheets("Infos").Range("B14")

'--------------------------------------
Sub test()
Dim A As Long
With Feuil1
A = .Range("C65536").End(xlUp).Row
With .Range("c1:C" & A)
.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheets("Infos").Range("B14"), Unique:=True
End With
End With

End Sub
'--------------------------------------




"Yvan" a écrit dans le message de groupe de discussion :

Bonjour,

Je souhaite extraire sans doublon une liste d'une base de données. J'utilise
la formule suivante :

.Range(.Cells(2, 3), .Cells(a, 3)).AdvancedFilter
Action:=xlFilterCopy, CopyToRange:=Sheets("Infos").Range("B14"), Unique:=True

"a" étant la dernière ligne de la base de données. Je commence à la deuxième
ligne pour ne pas considérer l'en-tête de la colonne.

Les premières lignes de la base contiennent le même élément et du coup, il
apparait deux fois dans la liste extraite. Comment faire pour qu'il
apparaisse bien qu'une seule fois ???

--
Merci pour vos réponses.