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

Résolu
RandomDoe -  
 RandomDoe -
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,

3 réponses

  1. Thorak83 Messages postés 1140 Statut Membre 156
     
    Bonjour,
    Votre variable FormattedDate et FormattedDate2 sont dimensionnée comment ?
    si vous faite
    FormattedDate2 = Format(CDate(FormattedDate), "yyyy-mm-dd")

    ca donne quoi ?
    0
  2. RandomDoe
     
    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
    1. Thorak83 Messages postés 1140 Statut Membre 156
       
      Comment avez vous dimensionné vos variables FormattedDate et FormattedDate2
      0
      1. RandomDoe > Thorak83 Messages postés 1140 Statut Membre
         
        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
    2. Thorak83 Messages postés 1140 Statut Membre 156
       
      heu c'est quoi une case "Standard" ?
      0
  3. RandomDoe
     
    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