Impressions successives des differents éléments d'un filtre

caiuspier

XLDnaute Nouveau
Bonjour à tous, j'ai peu de connaissance en VBA alors je me sert plutot de la creation de macro "simplifiée" sauf que la je bloque alors je fais appel à vos lumieres

Je souhaite imprimer les éléments d'un filtre l'un apres l'autre sans cocher à chaque fois l'élément suivant

grace à la barre develloppeur voila ce que j'obtient

Sub testimp()
'
' testimp Macro
'

'
ActiveSheet.Range("$A$3:$AD$10000").AutoFilter Field:=1, Criteria1:= _
"vert"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveSheet.Range("$A$3:$AD$10000").AutoFilter Field:=1, Criteria1:="orange"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveSheet.Range("$A$3:$AD$10000").AutoFilter Field:=1, Criteria1:="marron"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveSheet.Range("$A$3:$AD$10000").AutoFilter Field:=1
Range("D16").Select
ActiveWindow.SmallScroll Down:=-9
End Sub


Cela marche tres bien mais c'est rigide comme méthode.
Je souhaiterai donc une macro qui puisse, quel que soit le nombre d'element differrent, 3 comme dans l'exemple ou meme 10, m'imprimer les élément du filtres un par un sans que je manipule le filtre ni que j'ecrive sur la macro elle meme le nom et le nombre de ligne dont j'ai besoin

j'espere avoir etait clair, je vous met le fichier avec

merci d'avance
 

Pièces jointes

  • testimpmac.xlsx
    8.1 KB · Affichages: 53
C

Compte Supprimé 979

Guest
Re : Impressions successives des differents éléments d'un filtre

Salut Caiuspier ;)

Tu trouveras ci-joint ton fichier modifié avec le code
VB:
Sub ImpressionFiltreUnAUn()
  Dim DLig As Long, Lig As Long
  Dim MaCollection As New Collection
  Dim Item As Object
  ' Récupérer le numéro de la dernière ligne remplie
  DLig = Range("A" & Rows.Count).End(xlUp).Row
  ' Créer la collection d'éléments = liste sans doublon
  On Error Resume Next
  For Lig = 2 To DLig
    MaCollection.Add Item:=Range("A" & Lig), Key:=Range("A" & Lig)
  Next Lig
  On Error GoTo 0
  ' Pour chaque élément
  For Each Item In MaCollection
    ' Créer le filtre
    Range("$A$1:$C$1").AutoFilter Field:=1, Criteria1:=Item
    ' Imprimer la feuille
    ActiveSheet.PrintOut
  Next Item
  ' Supprimer le filtre
  Range("$A$1:$C$1").AutoFilter
End Sub

A+
 

Pièces jointes

  • Caiuspier_ImpFiltreUnAUn.xlsm
    15.6 KB · Affichages: 71

caiuspier

XLDnaute Nouveau
Re : Impressions successives des differents éléments d'un filtre

Salut BrunoM45,

je te remercie beaucoup
le fichier marche tres bien, c'est exactement ce dont j'avais besoin, et en plus, je te remercie pour les explications en vert qui en font pour moi une macro compréhensible et modifiable

merci encore
 

Discussions similaires

Réponses
7
Affichages
3 K
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko