Problème de date

  • Auteur de la discussion darkspoilt
  • Date de début

darkspoilt

Expert
Bonjour,
J'ai un problème lorsque j'ouvre un fichier texte avec Excel.

voila le souci

ma date dans mon fichier est lorsque j'ouvre avec bloc note (la bonne date)

10/03/2008 19:04:21

et voila ce qu'il m'affiche dans Excel

03/10/2008 19:04:21

voila mon code pour ouvrir ma feuille

[cpp] Workbooks.OpenText Filename:=NomFichierAlertes, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo _
:=Array(Array(1, 1), Array(2, 2), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1)), TrailingMinusNumbers:=True
Columns("B:B").ColumnWidth = 22.29[/cpp]

J'ai utilisé la macro automatique et à la main j'ai pas ce souci
 

dartyduck

Grand Meuble Suprême
ton probleme vient de la langue utilisée dans excel. il t'affiche le format anglais : mois/jour/année :o
 

darkspoilt

Expert
bah vu que c'est un format personnalisé,
cela ne change rien de plus
c'est issu d'un fichier texte.
On peut forcer la non conversion??
 

ecaheti

Grand Maître
dans excel tu dois pouvoir je sais plus ou changer les préférences par défaut pour l'affichage de la date
 

darkspoilt

Expert
A la main sa fonction c'est lorsque j'automatise en code que cela ne fonctionne pas, il doit manquer quelque chose dans mon code mais il faut que je vois quoi
 

zeb

Modérateur
L'information est caché dans le tableau de tableaux FieldInfo.
Je t'invite donc à consulter l'aide de OpenText à l'endroit de cet argument.

Il va juste te falloir remplacer xlGeneralFormat (=1) par xlMDYFormat (=3) ou par xlDMYFormat (=4) dans la bonne colonne.
 

darkspoilt

Expert
J'ai pas tout compris je suis en full excel la
Field info est une variable de quel type??
 

zeb

Modérateur
As-tu lu l'aide sur OpenText ?

Qu'est-ce que tu ne comprends pas ?

FieldInfo est de type tableau de tableaux. Tu l'as écrit toi-même !
[fixed]FieldInfo :=Array(Array(1, 1), Array(2, 2), Array(3, 1), Array(4, 1), _
Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), _
Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1))[/fixed]

Ce qui signifie que ton fichier fait 16 colonnes et que toutes sont traitées par le cas 1 (=xlGeneralFormat) alors que toi tu voudrais le cas 4 (=xlDMYFormat) pour la colonne qui contient ta date :[fixed]FieldInfo :=Array(... , Array(n, xlDMYFormat), ...)[/fixed]
 

darkspoilt

Expert
Il m'a mis mot introuvable pour FieldInfo

[cpp] Workbooks.OpenText Filename:=NomFichierAlertes, _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo _
:=Array(Array(1, 1), Array(2, 2), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, xlDMYFormat), Array(16, xlDMYFormat)), TrailingMinusNumbers:=True
[/cpp]

ca me met la meme chose ça ne change rien

Sinon il y aurait t'il un moyen de dire que toutes les donnée qui va recevoir est du texte??
pour la date je suis pret a la faire passer pour une texte
 

Freeman23

Expert
en mettant xlTextFormat tu forceras en texte.

Mais peut etre que ton problème est juste une question d'affichage dans Excel. Regarde après l'importation en changeant le format par exemple en mettant les mois en texte tu verras si il a vraiment inversé jour mois.

Il y a aussi les Options régionales qui peuvent altérer le résultat dans Excel.
 

zeb

Modérateur
Il m'a mis mot introuvable pour FieldInfo
:pfff: Je t'ai demandé de lire l'aide de OpenText, pas de FieldInfo.

Il va juste te falloir remplacer xlGeneralFormat (=1) par xlMDYFormat (=3) ou par xlDMYFormat (=4) dans la bonne colonne.
il croit recevoir du DMY pour du MDY ou l'inverse :pt1cable: Il faut donc lui dire que ce n'est pas du MDY mais du DMY ou l'inverse :pt1cable: Bref, si xlMDYFormat ne marche pas, mettre xlDMYFormat, ou l'inverse :pt1cable:

pour la date je suis pret a la faire passer pour une texte
+1 pour darkspoilt. C'est une autre bonne solution. :o
Pour la mettre en place :
■ Soit attendre la réponse de Freeman :hello:
■ Soit R-T-F-M à la page OpenText !!! :fou:
 

darkspoilt

Expert
il croit recevoir du DMY pour du MDY ou l'inverse :pt1cable: Il faut donc lui dire que ce n'est pas du MDY mais du DMY ou l'inverse :pt1cable: Bref, si xlMDYFormat ne marche pas, mettre xlDMYFormat, ou l'inverse :pt1cable:

Tu crois que j'ai pas essayé d'inversé si j'ai eu l'idée du texte c'est que ça marchait pas et pendant que freeman m'a gentiment donné la réponse j'étais en trian de chercher. Bon j'avoue j'ai un peu du mal mais j'ai dormi 3h cette nuit et la je suis au boulot
 

zeb

Modérateur
Ben c'est que moi aussi, j'ai vérifié !

Le ":o" c'est pour noter un ton sentencieux, pas sarcastique.
Je trouve vraiment que passer en texte est une bonne soluce ;)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 156
Messages
6 718 487
Membres
1 586 439
Dernier membre
Thailounette
Partager cette page
Haut