Comment convertir une chaîne en date dans VBA (avec exemples)



Vous pouvez utiliser la fonction CDate dans VBA pour convertir une chaîne de texte en date.

Voici deux manières courantes d’utiliser cette fonction en pratique :

Méthode 1 : convertir la chaîne en date à l’aide du format par défaut (MM/JJ/AAAA)

Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range("B" & i) = CDate(Range("A" & i))
    Next i
    
End Sub

Cette macro particulière convertira chaque chaîne de la plage A2:A8 en une date avec le format de date par défaut MM/JJ/AAAA.

Par exemple, une chaîne de texte du 15/04/2023 sera convertie en une date du 15/04/2023.

Méthode 2 : convertir une chaîne en date à l’aide d’un format personnalisé

Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range("B" & i) = Format(CDate(Range("A" & i)), "MM.DD.YYYY")
    Next i
    
End Sub

Cette macro particulière convertira chaque chaîne de la plage A2: A8 en une date au format MM.JJ.AAAA.

Par exemple, une chaîne de texte du 15/04/2023 sera convertie en une date du 15/04/2023.

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec la colonne de chaînes suivante dans Excel :

Exemple 1 : convertir une chaîne en date à l’aide du format par défaut

Nous pouvons utiliser la macro suivante pour convertir chaque chaîne de la colonne A en une date au format par défaut MM/JJ/AAA :

Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range("B" & i) = CDate(Range("A" & i))
    Next i
    
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que la colonne B convertit chaque chaîne de la colonne A en une date avec le format de date par défaut MM/JJ/AAAA.

Exemple 2 : convertir une chaîne en date à l’aide d’un format personnalisé

Nous pouvons utiliser la macro suivante pour convertir chaque chaîne de la colonne A en une date avec un format personnalisé de MM.DD.YYY :

Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range("B" & i) = Format(CDate(Range("A" & i)), "MM.DD.YYYY")
    Next i
    
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que la colonne B convertit chaque chaîne de la colonne A en une date avec un format personnalisé MM.JJ.AAAA.

N’hésitez pas à utiliser la fonction Format VBA pour afficher les dates dans le format de votre choix.

Remarque : Vous pouvez trouver la documentation complète de la fonction VBA CDate ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment convertir une chaîne en entier dans VBA
Comment convertir une chaîne en long dans VBA
Comment convertir une chaîne en double dans VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *