Dans ma tâche récente, je devais accepter les entrées de l’utilisateur. Une valeur d’entrée était la date de naissance et, bien sûr, elle doit être une date.

Ce que je faisais, c’est stocker l’entrée dans un type de données variant. Cela rendait le code sans erreur et le code acceptait toute valeur que l’utilisateur donnait. Voici le code:

Dim dob As Variant

dob = Application.InputBox("Enter Your Date of Birth")

C’était, bien sûr, une approche incorrecte car l’utilisateur peut saisir n’importe quelle valeur qui peut ne pas être une date valide.

Ce que je veux, c’est que mon code détecte toute date invalide et demande à l’utilisateur de saisir une date valide et de mettre fin au sous-programme.

Voici le code qui permet aux utilisateurs de mettre uniquement une date valide comme entrée.

Sub check_date()

Dim dob As Date

On Error GoTo Errorhandler

dob = Application.InputBox("Enter Your Date of Birth")

On Error GoTo 0

Debug.Print dob

Exit Sub

Errorhandler:

MsgBox "Please enter a valid date."

End Sub

Lorsque vous exécutez le code ci-dessus, il vous demandera d’entrer votre date de naissance. Si vous entrez une date non valide, il vous demandera de saisir une date valide et de terminer la procédure.

imageHow does it work?* The first and most important thing we have done is to use the Date type variable to store the expected date. Now, if you try to store a value that is not a valid date, it will through an error of « type mismatch ».

Ensuite, nous détectons cette erreur en utilisant le gestionnaire d’erreur On Error Goto *.

On Error GoTo Errorhandler

dob = Application.InputBox("Enter Your Date of Birth")

On Error GoTo 0

En utilisant On Error, nous passons le contrôle à la balise Errorhandler, qui est juste avant l’instruction End Sub. Ainsi, l’utilisateur est invité à entrer une date valide et le sous-programme se termine.

Errorhandler:

MsgBox "Please enter a valid date."

End Sub

Si l’utilisateur met une date valide, le contrôle se déroule normalement et l’entrée est enregistrée dans la variable dob. Nous avons mis la sous-instruction Exit afin que le contrôle n’aille pas dans le gestionnaire d’erreur et termine la procédure directement. Alors mettez toutes vos instructions de fin avant de quitter le sous. Et c’est tout.

Alors oui les gars, voici comment vous limitez l’utilisateur à entrer une date valide uniquement.

Faites-moi savoir si vous avez des doutes concernant les dates VBA ou toute autre requête liée à Excel / VBA. Demandez-nous dans la section commentaires ci-dessous.

Articles liés:

lien: / vba-insert-date-time-stamp-with-vba [Insérer un horodatage avec VBA] | Pour entrer l’horodatage lorsqu’une cellule spécifique a été remplie à l’aide de ce code VBA. Si vous entrez une valeur dans la colonne A, la cellule adjacente de la colonne B se remplira automatiquement avec l’heure d’entrée.

`lien: / excel-macros-et-vba-date-heure-dans-vb [Date et heure dans VBA] | Trouvez tous les sujets sur la date et l’heure dans VBA sur cette page.

Articles populaires:

lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité] | Accélérez votre tâche. Ces 50 raccourcis vous permettront de travailler encore plus rapidement sur Excel.

lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel] | C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher des valeurs à partir de différentes plages et feuilles. lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016] | Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter une valeur spécifique.

La fonction Countif est indispensable pour préparer votre tableau de bord.

lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel] | C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.