Bonjour,
Je n'ai pas utilisé les couleurs, j'ai testé si les cellules sont vides, ce que fait aussi la mise en forme conditionnelle.
A coller dans VBA Editor :
--------------------------------
Sub imprime()
'
Range("B2:B11").Select
nombre = 0
For Each c In Selection
If c.Value <> "" Then
nombre = nombre + 1
End If
Next
If nombre = 0 Then
rep = MsgBox("Aucune cellule remplie, êtes-vous sûr(e) de vouloir imprimer ?", vbYesNo + vbQuestion, "Attention !")
If rep = vbYes Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Else: ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Range("A1").Select
End Sub
-----------------------
J'ai travaillé avec la plage B2:B11, à changer bien sûr si besoin.
A+