Vérification date existante/réelle

Bonjour,

Je viens de mettre en défaut mon programme et je viens chercher de l'aide.

Je demande dans une Msgbox à un opérateur d'insérer une date. J'avais réussi à renvoyer des messages d'erreur si le format ne correspond pas ou si la date insérée précède la dernière date inscrite. Cependant j'ai écrit sans faire exprès 20/20/2020 !

Mon programme à checké la forme jj/mm/aaaa et a validé l'insertion, puis il a vérifié si la date est au delà de la date actuellement inscrite et c'estlà que ça a planté !!!

Code actuel :

Nouvelledate = InputBox("Saisissez la nouvelle date de replanification (format jj/mm/aaaa) :", "Replanification", "Inscrire ici la nouvelle date")

If Nouvelledate Like "##/##/####" Then

Valeurdate = CDate(Nouvelledate)

If Valeurdate <= Sheets("Données").Range("B3").Value Then

MsgBox "La date est antérieure à la date de besoin client!"

Else

MsgBox "Le calendrier a été mis à jour!"

Sheets("Création").Range("G3").Value = Valeurdate

Sheets("Calendrier de charge").Select

Last = Range("F1").End(xlToRight).Column

End If

Else

MsgBox "le format doit être jj/mm/aaaa!"

End If

Bref je souhaite vérifier que la date existe réellement ! Merci

Bonjour,

Le travail des dates sur Excel est un travail d'horlogerie il est difficile de te répondre au vu de tes trop brefs extraits.

J'ai vu dans une de tes précédentes discussions que tu déclarais tes dates As String ce qui dénote un haut niveau de méconnaissance du sujet.

Donc le mieux serait que tu nous donne au moins un bout de fichier qui permette de dégrossir un peu la situation. (Voir les déclaration, si tu mets Options Explicit ou pas) et le contexte de saisie, Feuille, Formulaire, UserForm ou InputBox...

Pour ta gouverne une date se mémorise et s'évalue dans une variable "as Long" variable que tu peux ensuite convertir avec CDate pour l'affichage dans Excel.

A+

Bonjour,

Premièrement si le fait est de me dire que je ne dois pas poster de message car j'ai des lacunes sur Excel, autant fermer le site...

Deuxièmement, J'utilise String, car personne n'a été capable de m'aider avec une variable de type Long ou Date. Une personne m'a proposer de modifier un String en date avec l'aide de la fonction CDate ! Je ne vais pleurer sur un code qui fonctionne même s'il n'est pas correct du point de vue des "experts".

Pour ta gouverne je travail sur un énorme fichier qui est classifié et que je peux donc partager. Je ne peux en théorie pas donner trop d'informations ici. Cependant il m'a semblé intéressant de demander de l'aide à des gens qui sont plus connaisseurs dans la programmation VBA et qui souhaitent aider les personnes dans le besoin et non pas prendre de haut les gens qui, oui, ont des connaissances limitées. Je suis ingénieur mécanique et non professionnel du code VBA (que j'ai commencé en Septembre).

Pour en revenir au sujet :

Je ne demande ici aucun code mais je veux juste savoir s'il est possible de réaliser un "Checkdate" pour savoir si ma date est réelle.

Je suppose que l'utilisation de la fonction CDate est limité par ce que j'inscris en tant que texte et un bug se produit lorsqu'elle essaye de convertir un 12/18/2020 en date réelle.

Donc si quelqu'un ou un expert avec un doctorat en VBA, maître de chaire à la Sorbonnes, peut m'expliquer gentiment comment utiliser une autre fonction/variable pour traiter ce problème, je lui en serais infiniment reconnaissant.

Je vous prie, Monsieur "je dis que les autres sont nuls alors que c'est pour ça qu'ils sont sur le forum", d'agréer mes plus sincères salutations.

Quentin

Rechercher des sujets similaires à "verification date existante reelle"