Stopper le filtre des lignes vides SI

  • Initiateur de la discussion Initiateur de la discussion fenec
  • Date de début Date de début

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 !

fenec

XLDnaute Impliqué
Bonjour le forum

Je reviens vers vous car malgré de nombreuses recherches je ne parviens pas à modifier mon code.

Alors voilà, je voudrais que le filtre des lignes vides ne se fasse pas si la cellule C24 n’est pas vide mais que le reste de la macro s’exécute.

Pour être plus précis.

Si C21 :C23 non vide, je filtre, ce qui me donne : une feuille à l’impression
Si C24 non vide, je ne filtre plus, ce que me donne : deux feuilles à l’impression

D’avance merci pour vos propositions.

Cordialement.

Fenec.
 

Pièces jointes

Re : Stopper le filtre des lignes vides SI

Bonsoir,

Tu peux rajouter une condition sur le nombre de cellules vides dans la plage C20 :C34
Code:
        '--- filtre les non vides en colonne A ---
        If .Range("C20:C34").SpecialCells(xlCellTypeBlanks).Count > 10 Then
            .Range("K2") = "=$C21<>"""""                 'critère filtre
            .Range("C20:C34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            .Range("K1:K2"), Unique:=False
            .Range("K2").ClearContents
        End If
        ' Aperçu avant impression
        .PrintPreview

Cordialement.
 
Re : Stopper le filtre des lignes vides SI

Bonjour le forum, Frangy

Merci beaucoup viens de tester c’est nickel

Une autre question me viens à l’esprit serait-il possible de rajouter une autre condition qui serait que :

Si C21 seule ligne non vide ne pas supprimer les lignes C22 :C23 pour une histoire de rendu à l’impression

Excusez-moi d’abuser

Cordialement

Fenec
 
Re : Stopper le filtre des lignes vides SI

Bonjour,

Tu peux tester comme ça.
L'impression sur 2 feuilles ne se fera que lorsque les 4 premières lignes seront renseignées.
Les 3 premières lignes sont imprimées dans tous les cas.
Code:
        '--- filtre les non vides en colonne A ---
        If .Range("C23:C34").SpecialCells(xlCellTypeBlanks).Count > 10 Then
            .Range("K2") = "=$C24<>"""""                 'critère filtre
            .Range("C23:C34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            .Range("K1:K2"), Unique:=False
            .Range("K2").ClearContents
        End If
        ' Aperçu avant impression
        .PrintPreview
Cordialement.
 
- 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

Réponses
11
Affichages
548
Retour