Alerte si date dans le passé

Bonjour,

j’aimerai par un bouton sur un UF avoir un code qui me permettrait de donner l’information suivante :

La colonne « Date Planif » contient des dates (ex : 13.02.2024)

Rechercher dans la colonne « Date Planif » , si il y a des dates qui sont dans le passé (antérieur à la date d’aujourd’hui) alors obtenir un pop-up (msgbox) d’alerte « Alerte, il y a des dates dans le passé ».

J’ai réussi à faire ce code avec un texte mais pas avec une date.. pouvez-vous m’aider ?

Bonjour

sans voir le fichier... à tester

Sub test()
Dim i As Integer
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If CLng(Range("A" & i)) < CLng(Now()) Then
        MsgBox "Alerte, il y a des dates dans le passé"
    End If
Next i
End Sub

il est supposé
- que la colonne A est la colonne Date Planif
- que le tableau où se trouve la colonne A n'est pas au format structuré

Il faudrait ajouter le nom de la feuille concernée dans le code

Si ok, pensez à cloturer le fil

Cordialement

Salut,

Merci pour ta réponse ! Impossible de mettre le fichier car c'est un fichier trop lourd et non partageable, je suis désolé !

J'ai entré le code mais une erreur s'est produite : erreur d'exécution '13' incompatibilité de type

image

Les dates sont au format : 28.10.2024

Merci d'utiliser les balises de code lorsque vous postez un code en cliquant sur l'icone </> dans la barre de menu et en collant le code dans la fenêtre


Question : vous avez quoi comme info dans la colonne H et surtout en H1 ? une date ou le titre ?

Autre chose, il ne faut éviter les SELECT.
Le code comme ceci :

Sub test()
Dim i As Integer

With sheets("Grille")
    For i = 1 To .Range("A" & Rows.Count).End(xlUp).Row
        If CLng(.Range("A" & i)) < CLng(Now()) Then
            MsgBox "Alerte, il y a des dates dans le passé"
        End If
    Next i
End with
End Sub

Regardez sur quelle ligne vous avez votre première date et remplacez le chiffre 1 par ce numéro de ligne

Bonjour a tous

erreur d'exécution '13' incompatibilité de type

Peut être remplacer

Dim i As Integer

par

Dim i As long

même si je n'y crois que peu....

Cordialement

Bonjour,

Merci pour vos réponses

Private Sub CommandButton20_Click()

Dim i As Integer

With Sheets("Grille")
    For i = 2 To .Range("H" & Rows.Count).End(xlUp).Row
        If CLng(.Range("H" & i)) < CLng(Now()) Then
            MsgBox "Alerte, il y a des dates dans le passé"
        End If
    Next i
End With

End Sub

Le code me renvoie toujours l'erreur "erreur d'exécution (13) incompatibilité de type".

Ci-joint, le format date ..

image

re

Le code me renvoie toujours l'erreur "erreur d'exécution (13) incompatibilité de type". Ci-joint, le format date ..

Si vous tapez une date dans une cellule ailleurs dans votre feuille, cela vous renvoie quoi ?
Car à la vue de votre image, les dates sont toujours renvoyée avec un / ou un trait -

A la limite, mettes ceci dans une cellule --> = Aujourdhui() et dites ce que cela vous donne

Rechercher des sujets similaires à "alerte date passe"