Filtre élaboré + Cellules Vides

fileofish

XLDnaute Occasionnel
Bonjour A tous,

Etant donné qu'il s'agit de mon 1er message de l'année je vous souhaite avant tous une belle et heureuse année !
Une année sans soucis sans serait pas mal !!
Je vous pose mon 1er

J'ai dans le fichier en B2:B61 des noms dans lequel il peut y avoir des cellules vides, je souhaiterais les copier sans vide et sans doublons en A2:A61


Range("B2:B61").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A2:A61"), Unique:=True

Mais il ne se passe rien!
Je ne comprends pas pourquoi

Merci a tous pour votre aide
Cordialement
Philippe
 

Pièces jointes

  • ED Filtre.xlsm
    22.1 KB · Affichages: 38

gosselien

XLDnaute Barbatruc
Re : Filtre élaboré + Cellules Vides

Bonjour,

le fait de filtrer ta colonne B et d'en mettre le résultat en colonne A, efface tout ce qu'il y a dans cette A...
Si ta zone de base de donnée est en C, ton crtèrère en B, ton résultat peut être lui en A
Ici j'ai mis la zone des données en C, le critère de recherche en B1 et résultat sous A1
tu as donc NomPrénom NomPrénom NomPrénom en A1,B1,C1 et les données sous C1

Range("C1:C13").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A1"), Unique:=True
Range("B20").Select
 

fileofish

XLDnaute Occasionnel
Re : Filtre élaboré + Cellules Vides

Bonjour Gosselin
Merci pour ta réponse
Je comprends à peu près ta réponse mais le code provient d'une macro exécutée en automatique.
Ce que tu me dis est que :
Colonne C : j'ai mes données
Colonne B : mes critères
Colonne A : mon résultat

Hors moi je n'ai pas de critères
J'ai simplement une liste en "B2:B61" que je souhaite extraire sans vide est sans double en "A2:A61"

Merci
Philippe
 

DoubleZero

XLDnaute Barbatruc
Re : Filtre élaboré + Cellules Vides

Bonjour, fileofish, gosselien, le Forum,

Un autre essai :

Code:
Option Explicit
Sub Filtrer_sans_vide_sans_doublon()
Columns("b:b").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("a1" _
), Unique:=True
Columns(1).SpecialCells(xlCellTypeBlanks).Delete
End Sub

A bientôt :)
 

Staple1600

XLDnaute Barbatruc
Re : Filtre élaboré + Cellules Vides

Bonjour à tous


Une autre façon de traiter en amont les cellules vides (avec un tri)
Code:
Sub Macro1()
With Range("B1:B61")
    .Sort Range("B1:B61"), xlAscending, , , , , , xlYes
    .AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A1"), Unique:=True
End With
End Sub

NB: 00 (meilleurs vœux ;) )
Suggestion:
En cas d'absence de cellules vides, ajouter à ton code On Error Resume Next
sinon ta macro plantera si en lieu et place de Columns(1), on indique Range("B1:B61")
ou dans le cas pas forcément si rare de disposer d'une colonne B entièrement non vide ;)
(plus rare quand même si Excel 2010 ou 2013 mais ici (Excel 20003) on peut avoir vite fait de remplir 65536 cellules ;))
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Filtre élaboré + Cellules Vides

salut

Dans l’air du temps et sur l’air de la liberté d’expression et non de la Calomnie :p :

Staple*, le problème, s’il en est, est que tu défigures le paysage. Que t'a fait le BB pour lui jeter un .Sort ?

Si ton année 2013 accepte1cellule vide (celle dans laquelle j’avais stocké tous mes vœux)
On peut tenter de le cloner avec
VB:
Sub UnToutSeul()
  [B2:B61].Copy [A2]
  [A2:A61].RemoveDuplicates 1  ‘provenant de .xlsm
End Sub
*c’est surtout pour le plaisir de te saluer, sans oublier :D:D !
 

Discussions similaires

Statistiques des forums

Discussions
312 386
Messages
2 087 849
Membres
103 668
dernier inscrit
Aekhassen