AdvancedFilter Action:=xlFilterCopy sans doublon...

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19088231
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"
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.
Publicité
Poster une réponse
Anonyme