XL 2021 Fonction Transpose et format date

vgendron

XLDnaute Barbatruc
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?
 

Pièces jointes

  • DateTranspose.xlsm
    16.6 KB · Affichages: 6

Phil69970

XLDnaute Barbatruc
Bonjour Vincent

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
 

vgendron

XLDnaute Barbatruc
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.
 

Phil69970

XLDnaute Barbatruc
Re

Et comme le dit TFB

VB:
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

1724358099089.png
 

vgendron

XLDnaute Barbatruc
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...)

en tout cas merci
 

vgendron

XLDnaute Barbatruc
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 )
 

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba