Bonjour,
Voilà le code que je te propose :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
i_ligne = 1
While Not IsEmpty(Feuil1.Range("B22").Offset(i_ligne))
If Not IsDate(Feuil1.Range("H22").Offset(i_ligne)) Then
MsgBox ("Ne pas oublier la date de retri dans la cellule " & Feuil1.Range("H22").Offset(i_ligne).Address)
Cancel = True
End If
i_ligne = i_ligne + 1
Wend
End Sub
J'utilise la fonction evenement Workbook_BeforeClose, qui s'execute lorsque l'utilisateur quitte le fichier.
L'idée est de parcourir ligne après ligne les cellules situées en dessous de la cellule B22. Si la cellule n'est pas vide, on vérifie qu'il y a une date dans la cellule de la colonne H correspondante. Si ce n'est pas le cas, un message s'affiche en donnant l'adresse de la cellule à compléter. Via la ligne "Cancel = True", on annule la fermeture du workbook ce qui oblige l'utilisateur à remplir la ligne avec une date.
Thomas