Bonjour, encore et toujours les sempiternels problèmes liés au format de dates US, et là j'y perds mon latin et mon english.
Je n'ai pas vraiment espoir que quelqu'un puisse m'apporter une solution, je crains que ça ne soit une contrainte liée aux arrays mais sait-on jamais avec les Mac Gyver bienfaiteurs de ce forum...
Au départ, j'ai le 1er février 2013 en 8è position dans un tableau array : tTabInfo(8, 1)
L'array n'a pas de type défini et est donc variant, il contient pas mal de textes et quelques dates.
Je suis moi-même en paramétrage régional Français, ma cellule est format "dd/mm/yy" même si cela n'aucune réelle importance.
Je colle cette date en bloc avec d'autre info sur une ligne :
.Cells(i + 1, 1).Resize(UBound(tTabInfo, 2), UBound(tTabInfo, 1)).Value = Application.Transpose(tTabInfo)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 1
Puis je tente de la colle seule, d'abord avec un cdate puis carrément sans et de manière inexplicable, ça fonctionne :
.Cells(i + 1, 8).Value = tTabInfo(8, 1)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 2
Alors c'est très joli mais si j'utilise les arrays avec une copie en bloc, vous vous doutez que c'est pour aller vite, pas pour coller cellule par cellule.
La seule solution "facile" que je vois, c'est de ne pas régler le problème mais de tricher en inversant mois et jour avec :
tTabInfo(8, 1) = Format(CDate(tTabInfo(8, 1)), "mm/dd/yy")
.Cells(i + 1, 1).Resize(UBound(tTabInfo, 2), UBound(tTabInfo, 1)).Value = Application.Transpose(tTabInfo)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 2
Mais c'est sale, je n'aime pas.
Je n'ai pas vraiment espoir que quelqu'un puisse m'apporter une solution, je crains que ça ne soit une contrainte liée aux arrays mais sait-on jamais avec les Mac Gyver bienfaiteurs de ce forum...
Au départ, j'ai le 1er février 2013 en 8è position dans un tableau array : tTabInfo(8, 1)
L'array n'a pas de type défini et est donc variant, il contient pas mal de textes et quelques dates.
Je suis moi-même en paramétrage régional Français, ma cellule est format "dd/mm/yy" même si cela n'aucune réelle importance.
Je colle cette date en bloc avec d'autre info sur une ligne :
.Cells(i + 1, 1).Resize(UBound(tTabInfo, 2), UBound(tTabInfo, 1)).Value = Application.Transpose(tTabInfo)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 1
Puis je tente de la colle seule, d'abord avec un cdate puis carrément sans et de manière inexplicable, ça fonctionne :
.Cells(i + 1, 8).Value = tTabInfo(8, 1)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 2
Alors c'est très joli mais si j'utilise les arrays avec une copie en bloc, vous vous doutez que c'est pour aller vite, pas pour coller cellule par cellule.
La seule solution "facile" que je vois, c'est de ne pas régler le problème mais de tricher en inversant mois et jour avec :
tTabInfo(8, 1) = Format(CDate(tTabInfo(8, 1)), "mm/dd/yy")
.Cells(i + 1, 1).Resize(UBound(tTabInfo, 2), UBound(tTabInfo, 1)).Value = Application.Transpose(tTabInfo)
Debug.Print Month(.Cells(i + 1, 8).Value)
= 2
Mais c'est sale, je n'aime pas.