Se connecter avec
S'enregistrer | Connectez-vous

Problème de date

Dernière réponse : dans Programmation

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

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


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

Autres pages sur : probleme date

Lassé par la pub ? Créez un compte
Expert Programmation

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.
Expert Programmation

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 !
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))


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 :
FieldInfo :=Array(... , Array(n, xlDMYFormat), ...)

Il m'a mis mot introuvable pour FieldInfo

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


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

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.
Expert Programmation

Citation :
Il m'a mis mot introuvable pour FieldInfo

:pfff:  Je t'ai demandé de lire l'aide de OpenText, pas de FieldInfo.

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

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

    Citation :
    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
    Expert Programmation

    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 ;) 
    Lassé par la pub ? Créez un compte