Salut,
Visiblement il te manque 2 élements dans ton code:
Il faut compter combien tu as de ligne dans le tableau pour balayer chaques lignes une à une.
Enfin, je pense que au lieu de faire un msgbox par problème tu devrais les regrouper en un seul. Pour ce faire untiliser chr(10) qui est un saut de ligne.
Une proposition du coup:
With Sheets("Feuil3")
Dim resultat As String
Dim len_init As Integer
resultat = "Attention, probleme d'heure concernant:" & Chr(10)
len_init = Len(resultat)
n = 2
While .Cells(n, 4) <> ""
If .Cells(n, 1) < .Cells(n, 2) Then resultat = resultat & .Cells(n, 4) & Chr(10)
n = n + 1
Wend
End With
If Len(resultat) > len_init Then MsgBox resultat Else MsgBox ("Aucuns problèmes detecté")
Code que j'ai mit dans la procédure macro1.
A+