Problème format date pour INSERT DB (provenant du classeur)

Résolu/Fermé
RandomDoe - 10 juil. 2015 à 13:23
 RandomDoe - 10 juil. 2015 à 16:37
Bonjour,

Je suis en train de travailler sur un script excel qui est sensé faire un INSERT sur une BD.
Le format attendu de ma DB est "yyyy-mm-dd".
Ma date est dans un tableau (objectList) au format "dd/mm/yyyy"

Mon problème est le suivant:
Malgré le fait que j'applique format (j'ai aussi testé cdate) à la date provenant du classeur, le format de cette date n'est pas modifié!

la partie de mon code concerné


For Each TRow In tbl.DataBodyRange.Rows
If (IsDate(TRow.Columns(TRow.ListObject.ListColumns(i).Index).Value)) Then
FormattedDate = TRow.Columns(TRow.ListObject.ListColumns(i).Index).Value
MsgBox "0 :" & FormattedDate
FormattedDate2 = Format(FormattedDate, "yyyy-mm-dd")
MsgBox "1 :" & FormattedDate2
End If
Next


J'ai donc un tableau excel que j'explore, mais quand j'exécute le code, ça m'affiche pour un contenu du tableau de "17/05/2015"
0 :17/05/2015
1 :17/05/2015

Le tableau qui contient cette valeur est généré dynamiquement, et je ne sais pas à l'avance si la colonne doit être une date ou autre chose (j'écris en fonction de la table choisie dans la DB les colonnes de la DB dans mon tableau)

Quelqu'un pourrait-il me donner des conseils ou des indications de la marche à suivre s'il vous plaît?

Merci
Cordialement,
A voir également:

3 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
10 juil. 2015 à 14:33
Bonjour,
Votre variable FormattedDate et FormattedDate2 sont dimensionnée comment ?
si vous faite
FormattedDate2 = Format(CDate(FormattedDate), "yyyy-mm-dd")

ca donne quoi ?
0
Bonjour, et merci de vous intéresser à mon problème

J'avais déjà testé, et la valeur reste la même, c'est à dire elle reste au format dd/mm/yyyy

FormattedDate2 = Format(CDate(FormattedDate), "yyyy-mm-dd")
MsgBox FormattedDate2
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
10 juil. 2015 à 15:56
Comment avez vous dimensionné vos variables FormattedDate et FormattedDate2
0
RandomDoe > Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017
Modifié par RandomDoe le 10/07/2015 à 16:18
Les données ont été rentrées sur une case "Standard" au format dd/mm/yyyy
Excel comprends de lui même que c'est une date, mais me bloque sur le format
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
10 juil. 2015 à 16:36
heu c'est quoi une case "Standard" ?
0
Bonjour,

J'ai trouvé la source de mon problème, qui était une erreur stupide.


Dim date1 As Date
Dim date2 As Date
date1 = "02/03/2004"
date2 = Format(date1, "yyyy-mm-dd")

MsgBox date1 'écrit 02/03/2004
MsgBox date2 'écrit 02/03/2004
MsgBox Format(date1, "yyyy-mm-dd") 'écrit 2004-03-02


Qui est d'ailleurs très bizzare car MsgBox Format(cdate(date), "yyyy-mm-dd") m'avait renvoyé le mauvais format

Cordialement,
0