Format Données / Convertir

Le
Gloops
Bonjour tout le monde,

Je pilote depuis Access un import dans Excel d'un fichier texte.

Quand j'ai enregistré sous Excel la conversion, avec format JMA sur les=

colonnes qui donnent des dates, le résultat est impeccable.

Sous Access, sur la ligne qui commence par
xlSht.Range(xlSht.Cells(1, 1), xlSht.Cells(1,
1).End(xlDown)).TextToColumns Destination:=xlSht.Range("A1"),
DataType:=xlDelimited, _

je reporte la suite de l'argument Destination obtenu dans
l'enregistrement de macro sous Excel, et là les ennuis commencent. Pour=

les colonnes devant contenir du texte pour ne pas s'asseoir sur les
zéros en tête de nombres, ça va, mais c'est surtout les dates qui p=
osent
problème.

Passons sur la colonne qui se retrouve affublée d'un Array(n° col., 1=
) à
la place de Array(n° col, 4), si je pars du principe que xlDMYFormat==
4,
mais même si je corrige à la main, j'ai un résultat bizarre :
"06/09/2010 00:00:00" donne une valeur alignée à droite, qui dans un=
e
table liée sous Access donne l'affichage "!NOMBRE"
"15/10/2010 00:00:00" donne une valeur alignée à gauche, qui dans une=

table liée sous Access donne bien la bonne date.

Etant précisé toutefois que si je regarde les propriétés de la ta=
ble
liée, je vois qu'aucune colonne n'est déclarée de type date, les
colonnes correspondantes sont déclarées de type texte.

Plus généralement semble-t-il les dates qui commencent par un zéro =
ne
sont pas reconnues comme telles.

Je crains que ma question soit simple :
Quezaco ?

Comme format de fichier, j'ai essayé xlExcel7, xlExcel9795 et
xlExcel4Workbook.
Le développement se fait sous Office 2003, Windows XP Pro.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #23880241
Le 18/10/2011 21:44, Gloops a écrit :

Bonjour tout le monde,

Je pilote depuis Access un import dans Excel d'un fichier texte.


Passons sur la colonne qui se retrouve affublée d'un Array(n° col., 1) à
la place de Array(n° col, 4), si je pars du principe que xlDMYFormat=4,
mais même si je corrige à la main, j'ai un résultat bizarre :
"06/09/2010 00:00:00" donne une valeur alignée à droite, qui dans une
table liée sous Access donne l'affichage "!NOMBRE"
"15/10/2010 00:00:00" donne une valeur alignée à gauche, qui dans une
table liée sous Access donne bien la bonne date.

Etant précisé toutefois que si je regarde les propriétés de la table
liée, je vois qu'aucune colonne n'est déclarée de type date, les
colonnes correspondantes sont déclarées de type texte.

Plus généralement semble-t-il les dates qui commencent par un zéro ne
sont pas reconnues comme telles.




Bonsoir,

Vu de loin, j'aurais tendance à interpréter le problème dans l'autre
sens : dans la mesure où, par défaut, les dates sont alignées à droite
dans Excel, c'est la date "06/09/2010" qui est correctement interprétée
comme date par Excel, puisqu'alignée à droite.
Par contre "15/10/2010" n'est pas interprétée comme une date,
probablement parce qu'Excel attend une date au format "MM/JJ/AAA", et
que 15 n'est pas un numéro de mois valide. Il faudrait voir ce que donne
"12/10/2010" et voir si cette date est alignée à droite (correcte) ou à
gauche (incorrecte).

Les quelques test récents d'import que j'ai eu à faire m'ont montré qu'à
partir d'excel 2007, les imports se faisaient correctement avec le
format français, alors que les versions précédentes attendaient un
format américain.

Mais, encore une fois, j'émets cet avis avec une grande prudence,
n'ayant pas les éléments nécessaires sous les yeux.

db
Gloops
Le #23883421
db a écrit, le 18/10/2011 22:12 :
Le 18/10/2011 21:44, Gloops a écrit :

Bonjour tout le monde,

Je pilote depuis Access un import dans Excel d'un fichier texte.


Passons sur la colonne qui se retrouve affublée d'un Array(n° col. , 1) à
la place de Array(n° col, 4), si je pars du principe que xlDMYFormat =4,
mais même si je corrige à la main, j'ai un résultat bizarre :
"06/09/2010 00:00:00" donne une valeur alignée à droite, qui dans une
table liée sous Access donne l'affichage "!NOMBRE"
"15/10/2010 00:00:00" donne une valeur alignée à gauche, qui dans une
table liée sous Access donne bien la bonne date.

Etant précisé toutefois que si je regarde les propriétés de la table
liée, je vois qu'aucune colonne n'est déclarée de type date, les
colonnes correspondantes sont déclarées de type texte.

Plus généralement semble-t-il les dates qui commencent par un zé ro ne
sont pas reconnues comme telles.




Bonsoir,

Vu de loin, j'aurais tendance à interpréter le problème dans l'au tre
sens : dans la mesure où, par défaut, les dates sont alignées à droite
dans Excel, c'est la date "06/09/2010" qui est correctement interprét ée
comme date par Excel, puisqu'alignée à droite.
Par contre "15/10/2010" n'est pas interprétée comme une date,
probablement parce qu'Excel attend une date au format "MM/JJ/AAA", et
que 15 n'est pas un numéro de mois valide. Il faudrait voir ce que do nne
"12/10/2010" et voir si cette date est alignée à droite (correcte) ou à
gauche (incorrecte).

Les quelques test récents d'import que j'ai eu à faire m'ont montré qu'à
partir d'excel 2007, les imports se faisaient correctement avec le
format français, alors que les versions précédentes attendaient u n
format américain.

Mais, encore une fois, j'émets cet avis avec une grande prudence,
n'ayant pas les éléments nécessaires sous les yeux.

db



OK je vais tester en tenant compte de ça ...
Il faudra que je fasse une copie d'écran pour être plus sûr, ça c ommence
un peu à s'estomper mais certains points de cet avis me surprennent.

Aujourd'hui, on a fait une mise à jour, si je ne m'abuse avec Office
2007 au lieu de 2003. Là on avait !NOMBRE, on a maintenant une case
vide, mais ça concerne les mêmes cases.

Bon, à suivre alors ... Probablement pas pour trouver la solution
demain, mais pour essayer d'en savoir plus.
Publicité
Poster une réponse
Anonyme