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

  • Initiateur de la discussion Initiateur de la discussion caiuspier
  • 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 !

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

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

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
 
- 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
7
Affichages
4 K
Compte Supprimé 979
C
Retour