Chaîne VBA à ce jour

Chaîne VBA Excel à ce jour

Dans Vba, il existe une méthode par laquelle nous pouvons convertir une chaîne donnée en une date, et la méthode est connue sous le nom de fonction CDATE dans vba, il s'agit d'une fonction intégrée dans VBA et les parties requises pour cette fonction consistent d'abord à convertir la chaîne en un nombre, puis nous convertissons le nombre donné en une date. Le format du résultat dépend uniquement du format de date système.

L'un des problèmes courants auxquels nous sommes tous confrontés avec Excel est la date et l'heure. Ils sont souvent stockés sous forme de valeurs de texte et passent inaperçus au départ. Mais quand ils seront obligés d'utiliser ce temps, nous apprendrons à savoir que ces valeurs sont stockées sous forme de texte et ne savent pas du tout comment les gérer. «Date et heure» sont deux éléments combinés dans un seul élément, mais une fois que ces valeurs sont stockées sous forme de valeurs de texte, il est difficile de travailler avec.

Comment convertir des valeurs de chaîne à ce jour?

Vous pouvez télécharger ce modèle Excel de chaîne VBA à ce jour ici - Modèle Excel de chaîne VBA à ce jour

Exemple 1

Une fois que la variable VBA est déclarée et affectée en tant que chaîne, tout ce qui est affecté à cette variable sera traité comme chaîne uniquement. Pour un exemple, regardez le code ci-dessous.

Code:

 Sub String_To_Date () Dim k As String k = "10-21" MsgBox k End Sub 

Dans la variable de code «k» ci-dessus définie comme type de données «chaîne» et pour cette variable, nous avons attribué la valeur «10-21».

Ok, exécutons le code et voyons ce que nous obtenons dans la boîte de message dans VBA.

Nous avons obtenu la valeur 10-21 uniquement, mais généralement, ces valeurs sont une date, pas des valeurs de chaîne. Ainsi, même si le type de données attribué est «String», nous pouvons toujours convertir à ce jour en utilisant la fonction de conversion de type de données CDATE VBA.

Code:

 Sub String_To_Date () Dim k As String k = "10-21" MsgBox CDate (k) End Sub 

Dans ce qui précède, avant d'afficher le résultat de la variable «k» dans la boîte de message, nous avons attribué la fonction CDATE. Un petit ajustement est fait, voyons à quel point cela a un impact important.

Maintenant, nous verrions le résultat comme «Date» et non plus comme valeur «Chaîne».

Exemple # 2

Maintenant, regardez le code ci-dessous pour un exemple.

Code:

 Sub String_To_Date () Dim k As String k = 43599 MsgBox k End Sub 

À ce stade, le code ci-dessus afficherait le résultat comme "43599" comme nous l'avons attribué ci-dessus.

Mais une fois que nous utilisons la fonction CDATE, elle sera convertie en valeur de date.

Code:

 Sub String_To_Date () Dim k As String k = 43599 MsgBox CDate (k) End Sub 

Le résultat après application de la fonction CDATE est le suivant.

Depuis Excel stocké la date sous forme de numéros de série, notre numéro de série attribué 43599 est égal à la date du 14/05/2019 lorsque le format de date est appliqué.

Nous pouvons également appliquer le format à la date comme «JJ-MMM-AAAA» pour lire la date avec précision.

Code:

 Sub String_To_Date1 () Dim k As String Dim DateValue As Date k = 43599 DateValue = CDate (k) MsgBox Format (DateValue, "DD-MMM-YYYY") End Sub 

Dans ce qui précède, j'ai déclaré une variable supplémentaire pour stocker le résultat. Pour cette variable, j'ai appliqué la fonction de conversion CDATE.

Ensuite, j'ai utilisé la fonction FORMAT pour appliquer le format du format «JJ-MMM-AAAA» et le résultat sera comme indiqué ci-dessous.

Avec cela, nous pouvons clairement lire la partie du jour et la partie du mois. Cela dépend également du format de date de votre système dans Excel, puisque le format de la date de mon système était «MM-JJ-AAAA», il était affiché comme ça, mais cela ne devrait pas être un obstacle au formatage.

Exemple # 3

Nous allons maintenant voir comment les dates sont formatées en tant que valeurs de texte dans les cellules de la feuille de calcul. Ci-dessous, l'image des dates stockées sous forme de texte dans une feuille de calcul.

Dans la colonne A de A2 à A12, nous avons des valeurs de recherche de date, mais lorsque nous regardons l'onglet format, il montre le format «Texte». Nous devons maintenant convertir ces valeurs du texte à la date.

Vous trouverez ci-dessous le code que j'ai écrit pour convertir les valeurs de date au format texte en dates réelles.

Code:

 Sub String_To_Date2 () Dim k As Long 'Les données sont dans plus d'une cellule, il faut donc parcourir chaque cellule' Open For Loop For k = 2 To 12 'Les données commencent à partir de la 2ème ligne et se terminent à la 12ème ligne, donc 2 à 12 Cells (k, 2) .Value = CDate (Cells (k, 1) .Value) Next k End Sub 

Si vous exécutez le code, il nous donnera le résultat ci-dessous.

Choses à retenir

  • CDATE est une fonction de conversion de type de données mais peut être utilisée pour convertir la date stockée dans la chaîne VBA en valeurs de date réelles.
  • Le résultat du format de la fonction CDATE dépend uniquement du format de date système.
  • Les dates sont stockées sous forme de numéros de série dans Excel, le formatage est donc nécessaire pour les afficher sous forme de dates.