Private Sub Workbook_BeforePrint(Cancel As Boolean)
If [A1] = "" Then
MsgBox ("La cellule A1 doit être remplie avant de pouvoir imprimer le document")
Cancel = True
End If
End Sub
A quel moment de ma macro intégrer la tienne
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If [A1] = "" Then
MsgBox ("La cellule A1 doit être remplie avant de pouvoir imprimer le document")
Cancel = True
End If
End Sub
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = ([G7] = 0 Or [G11] = 0 Or [G15] = 0 Or [G19] = 0 Or [G23] = 0)
With Rows("45:100")
.Hidden = False
ActiveSheet.PageSetup.PrintArea = "$B$45:$N$100"
ActiveSheet.PrintPreview
.Hidden = True
End With
End Sub
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = ([G7] = 0 Or [G11] = 0 Or [G15] = 0 Or [G19] = 0 Or [G23] = 0)
With Rows("45:100")
.Hidden = False
With ActiveSheet
.PageSetup.PrintArea = "$B$45:$N$100"
.PrintPreview
End With
.Hidden = True
End With
End Sub
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = ([G7] = 0 Or [G11] = 0 Or [G15] = 0 Or [G19] = 0 Or [G23] = 0)
If Cancel Then Exit Sub
With Rows("45:100")
.Hidden = False
With ActiveSheet
.PageSetup.PrintArea = "$B$45:$N$100"
.PrintPreview
End With
.Hidden = True
End With
End Sub
Re ,
Le mois de référence serait le mois en cours ou le mois n-1 par rapport à la date du traitement ?
Ensuite il suffit t'employer un offset par rapport à la 1ere colonne :
range("D7").offset(1,month(date)-1) au lieu de [D7] par exemple ...
essaies d'intégrer dans ce sens .....,
Sub Bouton1_Cliquer()
Dim Mois As Integer
Mois = Month(Date)
Mois = InputBox("Mois à traiter", "Veuillez saisir", Mois) ' Peut être mis en commentaire aprés les tests
If [D7].Offset(0, Mois) = "" Or [D11].Offset(0, Mois) = "" Or [D15].Offset(0, Mois) = "" Or [D19].Offset(0, Mois) = "" Or [D23].Offset(0, Mois) = "" Then
MsgBox ("Une note n'a pas été remplie, relancer l'agent de maîtrise correspondant")
Exit Sub
End If
With Rows("45:100")
.Hidden = False
With ActiveSheet
.PageSetup.PrintArea = "$B$45:$N$100"
.PrintPreview
End With
.Hidden = True
End With
End Sub