bonjour Titi
cette procedure est à placer au niveau de la feuille contenant les données
j'espere qu'avec quelques adaptation cela pourra t'aider
Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Integer
Dim Cell As Range
Dim Resultat As String
X = Target.Row 'derniee ligne vide dans la colonne B
'je suis parti du principe que les données sont saisies à la suite
'dans la colonne B
'et que les données sont deja existantes dans les colonnes F à I lors de la saisie
If Not Intersect(Target, Range("B11:B" & X)) Is Nothing Then
For Each Cell In Range("F11:I" & X)
If Cell = 0 Then Resultat = Resultat & "Vous n'avez pas de " & Cells(10, Cell.Column) _
& " dans la ligne " & Cell.Row & Chr(10)
Next Cell
MsgBox Resultat, , "Message"
End If
End Sub
bonne soiree
MichelXld