Salut.
Une solution est de passer par une variable globale
En haut d'un module standard, tu déclares ta variable booléenne qui vaudra FALSE par défaut
global PrintAllowed as boolean
Dans le code qui gère l'impression
1 2 3
| Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = not PrintAllowed
End Sub |
Dans le code du bouton
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub CommandButton1_Click()
Dim i As Byte
Dim plage As Range
Unload Me
PrintAllowed = true ' On permet l'impression
For i = 1 To 12
If Controls("checkbox" & i) = True Then Range(Controls("checkbox" & i).Tag).PrintOut
' impression en couleurs
ActiveSheet.PageSetup.BlackAndWhite = False
Next
PrintAllowed = false ' On bloque à nouveau l'impression
End Sub |
Partager