Bonjour,
Ah, je comprends mieux ce que tu veux faire du coup!
Ton code présente des erreurs :
Set plage = Range("A1:S" & Cells(Rows.Count, "S").End(xlUp).Row)
For Each c In Range 'ici mettre plage.cells, pas Range
If Range.Interior.Color = RGB(255,167,167) Then 'comme tu utilises c, ne mets pas range.interior.color
'mais c.interior.color,idem pour .interior.color, .interior.color récupère la couleur mise manuellement
'par quelqu'un, pas la couleur donnée par une mfc, qui se prend dans .DisplayFormat.Interior.Color
MsgBox "Attention ! Certaines cases obligatoires (NumeroCellule) ne sont pas remplies !"
Exit Sub 'si tu fais ça tu t'arrêtes à la première cellule vide, tu ne pourras pas voir les autres
'et les afficher
End If
Next c
Sub test()
dim c as Range
message = ""
Set plage = Range("A1:S" & Cells(Rows.Count, "S").End(xlUp).Row)
For Each c In plage.cells
If c.DisplayFormat.Interior.Color = RGB(255,167,167) Then
if message <> "" then
message = message & chr(10) & c.address
else
message = c.address
end if
End If
Next c
if message <> "" then
MsgBox "Attention ! Certaines cases obligatoires ne sont pas remplies !" & chr(10) & message, vbExclamation
end if
End Sub
Si tu peux déjà essayer ça et me dire si ça te va.