Bonjour le fil, bonjour le forum,
je ne vois pas non plus pourquoi ton code ne fonctionne pas. Je te propose, plutôt que de travailler sur les cellules, d'utiliser une variable tableau de type Variant qui s'exécute beaucoup plus vite :
Code non testé :
Private Sub workbook_open()
Dim TV As Variant
Dim Ws As Worksheet
Set Ws = Worksheets("feuil6")
TV = Ws.Range("A2:J4000")
On Error Resume Next
For I = 2 To 4000
If CDate(TV(I, 5)) = Date Then
MsgBox "Le TÉLÉMATIQUE est arriver a EXPIRATION pour " & TV(I, 2) & " " & " , " & _
TV(I, 5) & " ", vbExclamation, " EXPIRATION du TÉLÉMATIC "
End If
If CDate(TV(I, 6)) = Date Then
MsgBox "Le TÉLÉMATIQUE est arriver a EXPIRATION pour " & TV(I, 3) & " " & " , " & _
TV(I, 6) & " ", vbExclamation, " EXPIRATION du TÉLÉMATIC "
End If
If CDate(TV(I, 9)) = Date Then
MsgBox "La MAINTENANCE est arriver a EXPIRATION pour " & TV(I, 3) & " " & " , " & _
TV(I, 9) & " ", vbExclamation, " EXPIRATION du TÉLÉMATIC "
End If
If CDate(TV(I, 10)) = Date Then
MsgBox "La MAINTENANCE est arriver a EXPIRATION pour " & TV(I, 4) & " " & " , " & _
TV(I, 10) & " ", vbExclamation, " EXPIRATION du TÉLÉMATIC "
End If
Next I
Worksheets("Feuil1").Activate
End Sub