Voir Pièce jointeou alors est il possible d'insérer un BeforePrint dans chaque Feuille.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lig As Long
Dim rng As Range
Dim err As Boolean
err = False
For lig = 2 To 4
Set rng = Cells(lig, "G").Resize(, 3)
rng.Interior.Color = RGB(255, 255, 255) ' Fond blanc
If Not Cells(lig, "O").Value Then
rng.Interior.Color = RGB(255, 0, 0) 'Si erreur, fond rouge
err = True
End If
Next lig
If err Then
MsgBox "Cocher les cases"
Cancel = True ' On n'enregistre pas
End If
End Sub
Sub testx()
Dim result(1 To 3), F&, Rng, Lig&, NbLimite
NbLimite = Array(3, 6, 8)
For F = 1 To 3
'result(F) = Sheets(F).Name
For Lig = 2 To NbLimite(F - 1)
Set Rng = Sheets(F).Cells(Lig, "G").Resize(, NbLimite(F - 1))
Rng.Interior.Color = RGB(255, 255, 255) ' Fond blanc
If Not Sheets(F).Cells(Lig, "O").Value Then
Rng.Interior.Color = RGB(255, 0, 0) 'Si erreur, fond rouge
result(F) = Sheets(F).Name
err = True
End If
Next Lig
Next F
If err = True Then MsgBox "les sheets a revoir sont : " & vbCrLf & Replace(Application.Trim(Join(result, " ")), " ", vbCrLf)
End Sub
Voir Pièce jointeou alors est il possible d'insérer un BeforePrint dans chaque Feuille.