Contenu du filtre

Bonjour,

Lorsque je filtre une colonne contenant plusieurs fois les mêmes données je souhaiterais extraire uniquement une seule fois les possibilités du filtre.

Par exemple: Je souhaite avoir une liste dans une colonne B B1 :chocolat B2 vanille B3 pistache

A1 = FILTRE

A2= chocolat

A3= chocolat

A4 = vanille

A5 = vanille

A6 = pistache

A7 = vanille

Merci pour votre aide

Bonjour,

Données==>Supprimer les doublons

Crdmt

Bonjour,

Pas compris ce que tu veux dire ?

Il faudrait illustrer la situation de départ et le résultat attendu... !

A moins que tu ne parles d'un filtrage de valeurs uniques utilisant le filtre avancé... mais ce n'est pas clair pour l'instant.

Bonjour le fil, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim CEL As Range 'déclare la variable CEL (CELlule)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter a ton cas)
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D
For Each CEL In O.Range("A2:A" & DL).SpecialCells(xlCellTypeVisible) 'boucle sur toutes les cellules visibles CEL de la plage A2:A... DL
    D(CEL.Value) = "" 'alimente le dictionnaire D avec la valeur de la cellule de la boucle
Next CEL 'prochaine ligne de la boucle
'renvoie dans B1 redimensionnée la liste des élémnents du dictionnaire D sans doublon
O.Range("B1").Resize(D.Count, 1).Value = Application.Transpose(D.keys)
End Sub
10filtre-excel.xlsx (10.62 Ko)

Voici un fichier type ... je cherche le résultat dans la colonne B de la Feuil1 sur base de la colonne A en Feuil2

Filtre avancé :

Sub Filtrer()
    Worksheets("Feuil1").Range("B1").CurrentRegion.ClearContents
    With Worksheets("Feuil2")
        .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter xlFilterCopy, , _
         Worksheets("Feuil1").Range("B1"), True
    End With
End Sub

Cordialement.

cool ça fonctionne sauf que j'ai deux fois la première donnée

jb007 a écrit :

cool ça fonctionne sauf que j'ai deux fois la première donnée

Ça m'étonnerait ! J'ai beau regarder, ça ne sort bien que 4 noms !!!

certainement que j'ai du modifier qqch qu'il ne fallait pas en tout cas merci beaucoup ça m'aide énormément et ça m'a permis d'avancer dans mon travail !

est-ce que vous pensez qu'il est possible de mettre le contenu dans une seule cellule avec un filtre sans que les 4 par exemple apparaissent ?

C'est possible, mais il vaut mieux dans ce cas suivre la méthode ThauThème [ ] : constitution dico, on fait un tableau à la fin qu'on transforme en chaîne avec Join (saut de ligne comme séparateur), chaîne qu'on mettra dans une cellule (et on mettra WrapText à True)...

Je pense que je vais apprendre la VBA quel livre me conseillez-vous ?

Rechercher des sujets similaires à "contenu filtre"