Sub TestCelluleH()
Dim xrg, s As String, n&, i&, KO As Boolean
For Each xrg In Range("b2:e17").Rows
n = Application.WorksheetFunction.CountA(xrg)
If n > 0 And n < 4 Then
KO = True
s = s & vbCrLf & "Ligne " & Space(4 - Len(xrg.Row)) & xrg.Row & ", manque : "
For i = 1 To 4
If xrg.Cells(1, i) = "" Then s = s & Cells(1, i + 1) & " "
Next i
End If
Next xrg
If KO Then MsgBox "Veuillez saisir le(s) champ(s) :" & vbLf & s
End Sub