Hello
j'interviens en ce moment sur un sujet d'un membre du forum
Dans le code développé, j'alimente un tableau de variant et que j'alimente avec des données de différents types (redim preserve....)
une fois mon tableau alimenté, je le verse sur une feuille excel en le transposant
j'ai constaté une étrangeté avec la fonction transpose et le format date
la fonction transpose s'amuse à inverser les jours et mois des dates... mais de quoi je me mele !!
en PJ un petit fichier qui illustre très bien cette bizarrerie..
est ce un bug de la fonction transpose qui fait du zèle, ou est ce une particularité que j'ignore?
Je dirais que la langue du VBA est l'anglais et donc qu'il "transpose" la date en version anglaise.
VB:
Sub test()
Dim tabdata() As Variant
tabdata = Range("B3:B6").Value
Range("E3").Resize(4) = tabdata
Range("G3").Resize(, 4) = Application.Transpose(tabdata)
Range("G3").Resize(, 4).NumberFormat = "dd/mm/yyyy"
End Sub
Hello Phil
oui, mais alors, comment expliquer qu'il ne traduise en version anglaise QUE avec la fonction transpose..?
le transfert dans Date2 ne modifie rien..
est ce à dire que à partir du moment où on fait appel à "application", il s'amuse??
et le numberformat ne sert en fait à rien.. il reste avec les nouvelles dates transformées.. (je viens d'essayer... le 10 juin devient 06 octobre.. avec ou sans le numberformat.
Sub test()
Dim tabdata() As Variant
tabdata = Range("B3:B6").Value2
Range("E3").Resize(4) = tabdata
Range("G3").Resize(, 4) = Application.Transpose(tabdata)
End Sub
Au temps pour moi : je viens d'essayer et, comme le montre ton tableau Date2, un simple copier/coller ne semble pas inverser le quantième du mois et le numéro du mois.
Hello Toofatboy !!
j'avais pas vu ta première réponse..
et OUI ! le value2 corrige le pb !
bon, va falloir que je regarde la différence entre Value et value2 (je pensais que ca permettait de mettre les formules plutot que leur résultat dans le tableau...)
bon bah.. apparemment, le value2 est fait spécialement pour ne plus avoir de pb de conversion des dates
et meme que le .value serait à proscrire dès lors qu'il y a des dates dans le schmilblick (je m'y suis repris à plusieurs fois pour l'écrire :-D )
je vais essayer de retenir que quand il y a des dates ou des currency, c'est value2 !!
suis sur que ca m'aurait éviter bien des problèmes de conversion :-D