1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Sub ImprimerFeuil1PourChaqueItem()
Dim ws1 As Worksheet ' Feuil1
Dim ws2 As Worksheet ' Feuil2
Dim itemRange As Range
Dim cell As Range
Dim originalSelection As String
Dim printColumn As Range
' Feuille avec la liste déroulante (Feuil1)
Set ws1 = ThisWorkbook.Sheets("Feuil1")
' Feuille avec les items et valeurs associées (Feuil2)
Set ws2 = ThisWorkbook.Sheets("Feuil2")
' Plage contenant les items sélectionnables
Set itemRange = ws2.Range("A1:A4")
' Conserver la sélection originale
originalSelection = ws1.Range("M4").Value
' Plage de la colonne "Imprimer"
Set printColumn = ws2.Range("F1:F4") ' Changez la plage selon votre disposition
' Itérer à travers chaque item de la liste déroulante
For Each cell In itemRange
' Vérifier si l'élément doit être imprimé (colonne "Imprimer" = "x")
If printColumn.Cells(cell.Row, 1).Value = "x" Then
' Sélectionner l'item dans la liste déroulante (Feuil1!M4)
ws1.Range("M4").Value = cell.Value
' Imprimer la Feuil1
ws1.PrintOut
' Attendre un court instant pour laisser le temps à l'impression de se terminer
Application.Wait Now + TimeValue("00:00:02") ' 2 secondes
' Passer à l'item suivant
DoEvents
End If
Next cell
' Réinitialiser la sélection de la liste déroulante
ws1.Range("M4").Value = originalSelection
End Sub |
Partager