Filtre élaboré + Cellules Vides

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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 🙂
 
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:
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 😛 :

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 😀😀 !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
2
Affichages
979
M
B
Réponses
12
Affichages
2 K
boubouloulou
B
F
Réponses
5
Affichages
1 K
F
L
Réponses
21
Affichages
10 K
LilouExcelNovice
L
C
Réponses
3
Affichages
1 K
C
Retour