Exclure les cellules filtrées comme "vides"

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
BernardDRANEB
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 21 août 2019
Version d'Excel : 2010

Message par BernardDRANEB » 2 janvier 2020, 12:10

Bonjour et bonne année à toutes et à tous,

J'ai une question suite au post ci-dessous qui me permettait de copier coller des colonnes après filtre vers un autre classeur:
viewtopic.php?f=2&t=130481

Il se trouve que le code fonctionne très bien mais je remarque que dans les cellules collées, je me retrouve quand j'applique un filtre sur ma première colonne par exemple avec des cellules "vides". Normalement, je n'aurai du avoir que les cellules filtrées issues du premier classeur non? Et le cas échéant, comment me débarrasser de celles-ci?

Merci d'avance pour vos conseils.
Avatar du membre
BernardDRANEB
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 21 août 2019
Version d'Excel : 2010

Message par BernardDRANEB » 3 janvier 2020, 10:55

Suite à mon post, je me demande si une adaptation du code ci-dessous n'est pas nécessaire pour ne se focaliser que sur les cellules :
With ThisWorkbook.Sheets("Feuil1")
    .Range("A1").CurrentRegion.AutoFilter Field:=11, Criteria1:="Pret" 
    .Range("B:B,I:J,Z:AA").SpecialCells(xlCellTypeVisible).Copy 
    Workbooks("Test.xlsm").Sheets("Feuil2").Range("A1").PasteSpecial Paste:=xlPasteValues 'Test.xlsm doit être ouvert
    Application.CutCopyMode = False
End With
Peut-être avec une déclaration de variable comme
.Range("A" & .Rows.Count).End(xlUp).Row
mais je n'arrive pas à appliquer le filtre sans message d'erreur ?
Avatar du membre
BernardDRANEB
Jeune membre
Jeune membre
Messages : 35
Inscrit le : 21 août 2019
Version d'Excel : 2010

Message par BernardDRANEB » 3 janvier 2020, 11:19

Pour donner encore plus de matière à réflexion (comme quoi je cherche...), je viens de tester cette instruction
Sub Test()
 
 
With ActiveSheet
   .FilterMode = False
   .AutoFilterMode = False
 
    Set oRange = .Range("A1:AA10000") 'j'ai visé large
    With oRange
        .AutoFilter Field:=11, Criteria1:="Pret"
    End With
 
 End With

End Sub
et le tableau m'indique 7 enregistrements trouvés sur 3091. Normal dans la mesure où j'ai bien 7 enregistrements avec le critère "Pret". Anormal dans la mesure où je n'ai que 7 lignes de saisies... et pas 3091.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message