Filtre élaboré avec des cellules vides dans la plage de données

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 !

mdidish

XLDnaute Junior
Bonjour
J'ai réalisé une macro qui, à un moment, va réaliser un filtre élaboré. J'ai isolé cette séquence dans le fichier exemple :
Sub Macro1()
Range("A1😀6").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"H1:K2"), CopyToRange:=Range("F4"), Unique:=False
End Sub

Parmi la plage de données, certaines lignes ont des cellules vides ; j'aimerais que le filtre sélectionne les lignes répondant aux critères, même si certaines cellules ne sont pas remplies.
Plus concrètement dans le fichier exemple, la macro est définie pour réalisé un filtre élaboré avec :
- la plage de données en A1😀6
- la zone de critère en H1:K2
- copier les résultats en F4

J'aimerais donc que ce filtre sélectionne les clés n°1 (les critères âge, sexe et durée correspondent), mais également les clés 4 et 5 (les critères remplis correspondent aux critères, même si chaque ligne a une cellule vide).

Est-ce possible sur Excel 2003 ?

Merci d'avance.
 

Pièces jointes

Re : Filtre élaboré avec des cellules vides dans la plage de données

Merci pour la réponse.
Y aurait-il une autre solution sans avoir à redéfinir la plage de critères avec tous les cas possibles ?

En fait ce filtre évalue en vrai une dizaine de critère, dont chacun peut ne pas être remplis dans la plage de données. Et la plage de critère résulte d'un copier/coller d'une ligne d'un autre tableau qui comporte 200 lignes ; en gros ce filtre va être réalisé 200 fois de suite, ça complique un peu les choses si je dois prévoir toutes les cas envisageables à chaque fois (avec un, deux, trois, quatre jusqu'à 9 cellules vides).
 
Re : Filtre élaboré avec des cellules vides dans la plage de données

Bonsoir,

Ça ne fonctionnait pas, car il faut que la plage qui reçoit le résultat soit complètement vide. J'ai corrigé la macro afin de dynamiser les deux champs : celui des données AàF et le celui des résultats.

C'est-à-dire que quel que soit le nombre de lignes de la colonne A, la macro s'adapte.
Et que quel que soit le nombre de lignes de la colonne H, la macro s'adapte.

Examine cela.

G
 

Pièces jointes

Re : Filtre élaboré avec des cellules vides dans la plage de données

Bonsoir mdidish, à tous,

Un autre essai avec trois champs calculés non nommés. Les critères sont à saisir en colonne N.
La zone de critères à appliquer pour le filtre avancé est la zone H1:J2.

La macro:
VB:
Sub Macro1()
  Range("F4:I100").Clear
  Range("A1: D6").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
    "H1:J2"), CopyToRange:=Range("F4:i4"), Unique:=False
End Sub
 

Pièces jointes

Dernière édition:
- 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

Retour