Mélange de formats (date et texte) et code VBA

Allo tout le monde,

j'ai un petit fichier de suivi de l'entretien de véhicules qui me génère une alerte (MsgBox) 2 semaines avant la date obligatoire de changement de pneus.

Mon pb est qu'il me génère également une erreur car dans la liste l'une des cases n'est pas une date (NA pour non applicable). Et j'ai évidemment besoin de cette indication "NA".

Pourriez-vous m'aider à adapter le code pour que l'alerte fonctionne lorsque nécessaire sans générer d'erreur si dans la liste s'affiche autre chose qu'une date.

Dans mon fichier exemple, il y aurait ainsi une alerte pour le véhicule 2 et puis c'est tout.

Merci à tous pour votre aide

80vehicules.xlsm (20.29 Ko)

Bonsoir,

Insère la ligne suivante :

On Error Resume Next

avant la ligne

For Each Dt In Ws.Range("D2:D6")

Teste et dis-nous.

Merci bcp pour la réponse.

Alors succès partiel. Je n'ai plus d'erreur mais ça m'affiche le message d'alerte avec NA ("Penser à changer les PNEUS du véhicule 5 avant le NA !) alors qu'il ne faudrait pas de message du tout lorsqu'il n'y a pas de date.

Est-ce possible ?

72vehicules2.xlsm (20.21 Ko)

Re,

Essaye le code suivant :

Private Sub workbook_open()
    Dim Dt As Range
    Dim Ws As Worksheet
    Set Ws = Worksheets("Suivi")
    On Error Resume Next
    For Each Dt In Ws.Range("D2:D6")
        If IsDate(Dt) Then
            If Dt - Date < 14 Then
                MsgBox "Penser à changer les PNEUS du " & Dt.Offset(0, -3) & " avant le " & Dt & " ! ", vbExclamation, " Attention "
            End If
        End If
    Next Dt
End Sub

Ah vi, parfait !

Merci beaucoup

Très bonne soirée Raja

Rechercher des sujets similaires à "melange formats date texte code vba"