XL 2013 Boucler sur colonne filtrée

Chris401

XLDnaute Accro
Bonjour à tous

Soit un tableau A1:Ex
La colonne D est filtrée sur une date.
Je désire imprimer chaque item de la colonne C.
Comment remplacer ce code en utilisant une boucle SVP ?

Code:
Sub Imprime()
    With ActiveSheet
    .ListObjects("Tableau4").Range.AutoFilter Field:=3, Criteria1:= _
        "xx"
     .PrintPreview
    .ListObjects("Tableau4").Range.AutoFilter Field:=3, Criteria1:= _
        "yy"
    .PrintPreview
    End With
End Sub

Je n'y arrive pas avec quelque chose du style :
Code:
Sub Imprimer()
Dim Item As Variant
    With ActiveSheet
        For Each Item In Liste_de_ la _colonne_C
            .ListObjects("Tableau4").Range.AutoFilter Field:=3, Criteria1:=Item
            .PrintPreview
         Next Item
    End With
End Sub
Merci de votre aide.
 

Pièces jointes

  • Imprime_Filtre.xlsm
    17 KB · Affichages: 29

chris

XLDnaute Barbatruc
Re

Est-ce toujours filtré sur une seul date et rien d'autre ?

Si oui, on peut éviter une boucle mal adaptée si tableau volumineux, en adaptant le filtre avancé

Si non, on peut combiner mon code et celui de Jacques
Code:
Sub Imprimer()

Dim Item As Variant
Set Maliste = CreateObject("scripting.dictionary")

With ActiveSheet
  For Each cellule In .ListObjects("Tableau4").ListColumns("der").DataBodyRange.SpecialCells(xlCellTypeVisible)
    Maliste(cellule.Value) = ""
  Next cellule
     For Each Item In Maliste
        .ListObjects("Tableau4").Range.AutoFilter Field:=3, Criteria1:=Item
        .PrintPreview
    Next Item
    .ListObjects("Tableau4").Range.AutoFilter Field:=3
End With

End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 305
Messages
2 087 083
Membres
103 458
dernier inscrit
Vulgaris workshop