Problème de format de date

Bonjour à tous,

Alors voilà j'ai besoin de prendre la date d'une certaine colonne de mon Excel puis d'ajouter 2 ans à cette date et de la mettre dans une autre colonne.

Donc je me renseigne un peu, je fais quelques tests et voici mon script final :

Sub test2()

Dim FirstDate As Date
Dim IntervalType As String
Dim Number As Integer
Dim Msg As String
IntervalType = "yyyy"

For i = 2 To 10
If IsEmpty(Range("M" & i)) Then
FirstDate = Range("E" & i)
Number = 2
Msg = DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
Range("M" & i).Value = Msg

End If
Next
End Sub

Donc presque tout se passe bien sauf pour une de mes dates testes.

La date en question est : 07/12/2020 (que je souhaiterai passer en 07/12/2022)

Je vous montre :

capture d ecran 2022 03 25 153600

A ce stade mon message box m'indique bien ce dont j'ai besoin.

capture d ecran 2022 03 25 153635

Par contre ici ça pose problème, on voit que les jours et les mois sont inversés dans la cellule.

Je précise que mes cellules sources et destinations sont au format date et que je n'ai pas de soucis pour mes autres dates testes.

Bonjour,

Essai de mettre "Cdate" dans ton code

Sub test2()

Dim FirstDate As Date
Dim IntervalType As String
Dim Number As Integer
Dim Msg As String
IntervalType = "yyyy"

For i = 2 To 10
If IsEmpty(Range("M" & i)) Then
FirstDate = CDate(Range("E" & i))
Number = 2
Msg = DateAdd(IntervalType, Number, FirstDate)
MsgBox CDate(Msg)
Range("M" & i).Value = Msg

End If
Next
End Sub

Cordialement

Bonjour,

pour le Range de la fin :

Range("M" & i).Value = Cdate(Msg)

Et au départ

Dim Msg As Date ' ou as long au pire  mais pas as string ( string = texte ) 

Merci à vous, c'est bien un problème déclaration de ma variable au début (erreur d'inattention de ma part).

La méthode d'à la fin mettre Cdate(MaVariable) fonctionne tout aussi bien mais autant le changer dès le début pour pas avoir à changer de format.

Bref merci pour votre réactivité !

Rechercher des sujets similaires à "probleme format date"