Imprimer en fonction d'une liste déroulante dynamique

Bonsoir!

De retour avec un couac, sur lequel je ne trouve aucune solution.

J'ai sur ma feuille "notes d'honoraires" une page qui est en recherchev en fonction de la liste déroulante en cellule n10.

Pour imprimer les notes de 2012 par exemple, je clique sur "choisir une période", puis je filtre sur la colonne C de la feuille "Bdd".

Sur le fichier joint, j'ai par exemple choisi de ne sélectionner que celles de septembre 2012.

Ce que je cherche à faire est simple: imprimer grâce à une boucle toutes les notes sélectionnées, et donc uniquement celles qui apparaissent dans la liste déroulante (dans le fichier joint, sept 2012 étant sélectionné, j'en ai 3 seulement).

Voilà le code que j'avais trouvé :

Sub ImprimerBoucle()

Dim c As Range

For Each c In Range("Liste")

Range("N10").Value = c.Value

Worksheets("Note d'honoraires").PrintOut

Next c

End Sub

Mais ce code m'imprime toutes les notes sans aucune exception, à savoir que "Liste" correspond à la liste dynamique des mandats choisis dans "choisir une période".

Si quelqu'un a un conseil ou une solution, je suis preneuse... je vous mets en pièce jointe un fichier simplifié, mais qui garde toutes les caractéristiques principales. Merci d'avance!

Bonjour

A tester

Sub ImprimerBoucle()
Dim cel As Range

  With Sheets("Extrait")
    For Each cel In .Range("B4:B" & .Range("B" & Rows.Count).End(xlUp).Row)
      If cel = "NO" Then Exit Sub
      Range("N10") = cel
      ActiveSheet.PrintOut
      'ActiveSheet.PrintPreview
    Next cel
  End With
End Sub
Rechercher des sujets similaires à "imprimer fonction liste deroulante dynamique"