Fonction IsDate VBA

Fonction Excel VBA IsDate

IsDate est la fonction VBA qui teste si la valeur donnée est la date ou non. Si la valeur fournie ou la valeur de référence de la plage est la valeur de date, nous obtiendrons le résultat comme «TRUE», si la valeur n'est pas la valeur de date, nous obtiendrons le résultat comme «FALSE». Donc, le résultat est la valeur BOOLEAN c'est-à-dire VRAI ou FAUX.

Voici la syntaxe de la fonction IsDate.

L'expression n'est rien d'autre que la valeur que nous essayons de tester si c'est la date ou non.

Comment utiliser la fonction VBA IsDate?

Vous pouvez télécharger ce modèle Excel VBA IsDate ici - Modèle Excel VBA IsDate

Nous allons tester si la valeur «5.01.19» est une valeur de date ou non.

Pour cela, lancez d'abord la procédure de macro Excel.

Code:

 Sub IsDate_Example1 () End Sub 

Définissez la variable pour stocker la valeur de date et comme la valeur sera valeur de date, affectez le type de données uniquement à «Date».

Code:

 Sub IsDate_Example1 () Dim MyDate As Date End Sub 

Attribuez maintenant la valeur «5.1.19» à la variable «MaDate».

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub 

Ouvrez la boîte de message dans VBA maintenant

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox (End Sub 

Dans cette boîte de message, nous allons tester si la valeur de date fournie à la variable «MyDate» est la date ou non en utilisant la fonction «IsDate». Tout d'abord, ouvrez la fonction «IsDate».

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub 

L'expression est la valeur que nous testons pour déterminer s'il s'agit de Date ou non. Puisque nous avons déjà stocké la valeur dans la variable «MyDate», fournissez uniquement le nom de la variable.

Code:

 Sub IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub 

Ok, maintenant exécutez le code et voyez ce que nous obtenons dans la boîte de message.

Sensationnel!!! Le résultat est VRAI .

Vous devez vous demander comment il a reconnu la valeur «5.1.19» comme date.

La raison pour laquelle il a renvoyé le résultat comme TRUE parce que lorsque vous regardez la valeur donnée «5.1.19», il s'agit de la forme abrégée de la date «05.01.2019», donc Excel est suffisamment brillant pour la reconnaître comme date, donc le résultat est vrai.

Maintenant, voici la chose délicate, pour la même valeur, ce que nous allons faire est de changer la forme courte de l'année du 19 au 2019.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub 

Maintenant, exécutez le code et voyez le résultat.

Cette fois, il a renvoyé le résultat comme FAUX car la partie «jour et mois» de la date est sous forme abrégée, mais la partie année est au format complet «AAAA», de sorte que ISDATE ne peut pas reconnaître qu'il a une date, le résultat est donc FAUX.

Maintenant, regardez le code ci-dessous.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub 

J'ai mentionné le format du jour complet et du mois complet en utilisant 0, exécutons le code et voyons le résultat de la fonction IsDate.

Cette fois aussi, nous obtenons le résultat FALSE .

Modifiez maintenant le code comme suit.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub 

Au lieu du point (.) Comme séparateur, nous avons entré une barre oblique (/) comme séparateur. Maintenant, exécutez le code et voyez le résultat.

Cette fois, nous avons obtenu le résultat VRAI .

C'est la raison pour laquelle je vous ai dit au début de l'article que «Date» est une chose sensible.

Maintenant, ce que je vais faire, c'est fusionner la date et l'heure ensemble.

Code:

 Sub IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

Ce que j'ai ajouté ci-dessus est la partie horaire de «15:26:24» devant la date. Maintenant, exécutez le code et voyez le résultat.

Cette fois aussi, nous avons obtenu le résultat VRAI car DATE et HEURE dans Excel sont les mêmes choses et sont stockées sous forme de numéros de série. Le nombre entier représente la partie de la date et les décimales représentent la partie de l'heure.

Choses à retenir ici

  • IsDate renvoie le résultat de type booléen, c'est-à-dire VRAI ou FAUX.
  • IsDate est disponible uniquement en tant que fonction VBA.
  • Seules les dates formatées valides sont traitées comme la date ou bien elles seront traitées comme des valeurs de texte et renverront le résultat comme FALSE.