Filtre élaboré - voir les lignes vides

riderfab

XLDnaute Nouveau
Bonjour,

je suis face à un problème de filtre élaboré. Je filtre une liste sur place en utilisant une plage de critère.
Dans cette plage, un des critères est définis avec une fonction SI. Ce critère prend une certaine valeur si une certaine condition est réalisée, en l'occurence J1=1, et il reste vide si cette condition n'est pas réalisée. Précisément j'ai tapé la fonction
=SI(J1=1;"C";"").

Donc quand J1 est différent de 1, mon critère apparait vide. Cela dit quand je filtre, je ne vois pas l'enregistrement de la ligne 2, pour lequel le champ Projet était vide. En effet dans un filtre élaboré quand on tappe ="" pour un critère, cela veut dire qu'on ne veux pas voir les enregistrements vide.
Mais dans mon cas je voudrais voir les enregistrements vides! et je ne sais pas comment modifier ma fonction SI, pour dire que si J1 est différent de 1 je veux que mon critère soit vide et qu'il autorise les enregistrements vides!!

Merci d'avance de votre aide précieuse.

Fabrice
 

Pièces jointes

  • Filtre élaboré.xls
    17 KB · Affichages: 206
  • Filtre élaboré.xls
    17 KB · Affichages: 210
  • Filtre élaboré.xls
    17 KB · Affichages: 220

riderfab

XLDnaute Nouveau
Re : Filtre élaboré - voir les lignes vides

Ppff, bientôt 1h30 que je galère sur ce problème. N'y a-t-il pas une fonction excel dont le résultat donne une cellule interprêtée comme vraiment vide par excel?
Comme je vous le dis, quand on met ="", ce n'est pas équivalent à une cellule vraiment vide dans le cadre d'un filtre élaboré car excel va cherche uniquement les enregistrements non vides sur ce champ.

Fabrice
 

jbdubreuil

XLDnaute Occasionnel
Re : Filtre élaboré - voir les lignes vides

Hello Fabrice,

Je n'ai pas tout compris à ta question.
Cependant pourquoi n'utilise pas les zeros en lieu et place des cellules vides avec un format special du type:
#,##0;-#,##0;""

Dans ce cas, ton filtre elaboré pourra fonctionner avec les zeros qui sont invisibles...

Bon courage,

Jb
 

riderfab

XLDnaute Nouveau
Re : Filtre élaboré - voir les lignes vides

Merci de vos idées mais ça ne fonctionne toujours pas :

Jdubreuil : lorsqu'on rentre la valeur 0 comme paramètre pour un champ de la zone de filtrage, excel recherchera les lignes où apparaît le chiffre 0 et ne ressortira pas les lignes vides.

Sergio : la formule que tu indiques : "<>*" permet d'afficher uniquement les lignes vides mais pour ce paramètre je souhaite voir toutes les lignes, qu'elles soient vides ou pas vides.
(On obtient d'ailleurs le meme résultat en tapant "=" ... "différent de quelque chose veux bien dire la même chose que égal à rien...")

ça me semble de plus en plus impossible de pouvoir faire à la fois les lignes vides et pleines selon ce critère.

Fabrice
 

SergiO

XLDnaute Accro
Re : Filtre élaboré - voir les lignes vides

Re,

Je n'avais pas tout compris.

Voici ton code permettant de lancer le filtre élaboré que j'ai modifié:
j'ai rajouté une condition qui, selon la valeur de la cellule F2, modifie la zone de critères.

Code:
Sub Macro1()

If Range("F2") <> "" Then
    Range("B1:C6").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("E1:F2"), Unique:=False
  Else
    Range("B1:C6").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
        ("E1:E2"), Unique:=False
  End If
End Sub
@+
 

riderfab

XLDnaute Nouveau
Re : Filtre élaboré - voir les lignes vides

Merci Sergio pour cette idée :
le principe est bon effectivement mais le fichier joint était un exemple simplifié. En réalité je filtre sur environ 10 paramètres, tous définis par une formule SI.. Donc je ne pourrai jamais dans la macro spécifier mon filtre comme tu le fais en enlevant les paramètres vides de la zone de filtrage car il y a énormément de combinaisons possibles.. et puis ça ferait une zone de filtrage disjointe si les colonnes à supprimer sont au centre...

Sinon jbdubreuil, désolé j'ai relu ta proposition que j'avais mal comprise. Effectivement ça fonctionne mais mon tableau sera à terme multi-utilisateurs, et si un utilisateur supprime un champ dans mon tableau et oublie de mettre 0à la place, ça ne fonctionnera pas.

..donc toujours pas de solution mais je garde espoir!
Merci en tt cas.

Fabrice
 

SergiO

XLDnaute Accro
Re : Filtre élaboré - voir les lignes vides

Une autre idée !!!

J'ai étendu les critères à la ligne 3 ( équivalent à une condition OU) et j'ai rajouté des formules.

Teste la pièce jointe et dis-nous...

@+
 

Pièces jointes

  • Filtre élaboré-2.xls
    30 KB · Affichages: 159
  • Filtre élaboré-2.xls
    30 KB · Affichages: 155
  • Filtre élaboré-2.xls
    30 KB · Affichages: 152
Dernière édition:

riderfab

XLDnaute Nouveau
Re : Filtre élaboré - voir les lignes vides

Merci beaucoup Sergio pour cette nouvelle proposition, je crains une nouvelle fois qu'elle ne m'aille pas dans le cas où j'ai plusieurs champs pour lesquels je ne souhaite pas filtrer. J'ai remodifié ton fichier en définissant le critère DEP également sous la forme d'une formule. Le problème est que lorsqu'on souhaite ne filtrer sur aucun des 2 champs, on ne voit plus la ligne 2 dont le champ DEP est rempli et pas le champ PCE... En effet vu la structure de notre zone de filtrage, excel recherche les enregistrements dont toutes les lignes sont vides et ceux dont toutes les lignes ne sont pas vides, mais si on a un peu des 2, ça ne fonctionne plus.

Merci encore en tt cas.

La seule solution je pense serait de trouver cette façon de formuler qu'une cellule doit être vide dans une formule SI, en n'utilisant pas le classique =""

Fabrice
 

Pièces jointes

  • Filtre élaboré-2.xls
    29.5 KB · Affichages: 155
  • Filtre élaboré-2.xls
    29.5 KB · Affichages: 147
  • Filtre élaboré-2.xls
    29.5 KB · Affichages: 150

SergiO

XLDnaute Accro
Re : Filtre élaboré - voir les lignes vides

Voici un autre essai par filtre automatique et VBA.
Il serait préférable que ton exemple se rapproche + de la réalité (nb de champs + important) pour mieux écrire le code.

@+
 

Pièces jointes

  • Filtre élaboré-3.xls
    30 KB · Affichages: 129

jjk

XLDnaute Nouveau
Re : Filtre élaboré - voir les lignes vides

Bonjour

Je viens d'arriver sur ce forum. Si tu cherches à voir les lignes vides, et seulement elles, il faut entrer comme critère =SI(J1=1;"C";"=") à la place de =SI(J1=1;"C";"").

Cordialement

JJK
 

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
4
Affichages
182
Réponses
69
Affichages
4 K

Statistiques des forums

Discussions
312 391
Messages
2 087 943
Membres
103 679
dernier inscrit
yprivey3