2 votes

VBA Cdate pour interpréter DD-MM-YYYY

J'ai une colonne de dates qui sont stockées au format JJ-MM-AAAA. Je les parcours en boucle avec la fonction cdate de VBA pour les convertir en valeurs. Cependant, si le jour du mois est égal ou inférieur à 12, Cdate interprète la date au format JJ-MM-AAAA. Quel est le moyen le plus pratique de contourner ce problème ?

0voto

Nick Points 469

J'utiliserais le DateSerial Essayez ceci :

Sub ConvertDate()
Dim datecell As Variant, i As Long

With Workbooks("book1").Sheets(1)
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
        datecell = Split(.Range("A" & i), "/")
        .Range("B" & i) = DateSerial(datecell(2), datecell(1), datecell(0))
    Next i
End With

End Sub

Cela suppose que votre classeur s'appelle "Book1" et que les valeurs de la date se trouvent dans la colonne A. Les résultats seront écrits dans la colonne B.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X