IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Format date après récupération de données .txt


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut Format date après récupération de données .txt
    Bonjour,

    J'ai un problème dans la récupération des valeurs d'un fichier .txt ouvert sous excel.
    Je formate dans ma feuille de classeur mes colonnes en format date d/m/yyyy par macro avant qu'il n'y ait quelconque donnée, puis je vais récupérer cellule par cellule les valeurs provenant de mon fichier .txt.
    Malgré tout, j'obtiens "26/09/2007 11:45:00" alors que j'avais formaté ma cellule au préalable, de manière à obtenir "26/09/2007".

    Une fois la macro finie, si j'entre dans la cellule par un F2 et que je fais entrée, le contenu se tranforme bien en "26/09/2007". Mais j'ai 5 colonnes et une centaine de lignes; je ne peux pas faire ca pour toutes.

    Quelqu'un aurait-il une idée ?

    Merci 1000 fois d'avance

  2. #2
    Membre expérimenté Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Par défaut
    Hello,

    As tu essayé en formattant tes cellules apres l'ajout des données?

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Comment ouvres-tu ton fichier txt ? Ce que tu décrit ressemble à une date insérée en format texte. Comme le dit Drost, formate ta colonne, mais je ne suis certain que ça fonctionne.
    Tu dis
    A+

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Ouiiiii

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Beh j'ouvre mon fichier .txt par excel, avec l'assistant, en laissant toutes les colonnes en format général.

    Donc j'ai essayé de changer le format avant d'importer, après avoir importé, en important cells.value, en important cells, et en important cells.text.

    Et rien ne marche !

  6. #6
    Membre expérimenté Avatar de Drost
    Profil pro
    Inscrit en
    Août 2007
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 192
    Par défaut
    Est que la date qui apparait dans ton fichier texte est aussi avec l'heure?

    Si c'est le cas, c'est un peu du bricolage mais peut être peut tu découper ta variable pour récupérer uniquement la date ( les 8 premiers caracteres jj/mm/aa).

    En esperant que ca pourra "un peu" t'aider...

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je crois me souvenir que, lors de l'ouverture d'un txt, tu peux définir le type de données selon la colonne mais c'est assez galère.
    D'où ma question : Quel est le séparateur de données dans ton txt ? C'est important quant à la solution que je te propose sous réserve, solution consistant à renommer ton txt en csv avant de l'ouvrir. Si le séparateur est ";" le csv devrait te donner le bon format (je n'ai pas le temps de tester, désolé)
    Bonne chance

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Le problème est que le fichier que l'on m'envoie est déjà un fichier csv, mais tellement bizarre que lorsqu'on l'ouvre, il y a 5 colonnes, et dans chacune des cellules de ces colonnes sont regroupées 6 colonnes, par des ;
    Donc je dois le transformer avant en un fichier txt, de manière à ce que quand je l'ouvre avec l'assistant d'excel, il me demande quel est le séparateur (qui, en l'occurence, est le point virgule).

    Et si je retransforme mon fichier .txt en un fichier .csv, bein j'obtiens la même chose que celui qui m'a été envoyé. Le seul fichier donc avec lequel je puisse travailler est le txt (ou alors ca va être très compliquer de bien retransformer les colonnes avec le csv).

    Donc pas de colution. Surtout qu'en plus, depuis mon dernier message, quand je vais chercher les données il me met maintenant les dates à l'envers. Dans le fichier txt j'ai bien 01/10/2007 (format date "dd/mm/yyyy") et dans l'excel final j'ai 10/01/2007 (format date "dd/mm/yyyy").

    Je n'y comprends plus rien.

    Alors que mon code est tout simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    While Not IsEmpty(Workbooks(ListBox1.Text).Worksheets(1).Cells(i, 1))
    For j = 1 To 38
    classeur.Worksheets("Bewertung FX").Cells(i, j) = _
    Trim(Workbooks(ListBox1.Text).Worksheets(1).Cells(i, j))
    Next j
    i = i + 1
    Wend
    A l'aide !!!

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Essaie ce code sur le txt.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Workbooks.OpenText Filename:="D:\Chemin\Fichier.txt", Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlTextQualifierNone, _
            ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
            , Space:=False, Other:=False, FieldInfo:=Array(1, xlDMYFormat)
    où 1 (en rouge) est le N° de colonne contenant les dates.
    Tu dis

Discussions similaires

  1. Appliquer le format date après import xml
    Par Ledaf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/05/2011, 11h04
  2. [XL-2010] Appliquer le format date après import xml
    Par tibey dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2011, 00h08
  3. récupération de données .txt
    Par ismababa dans le forum C#
    Réponses: 3
    Dernier message: 13/01/2011, 15h46
  4. Format date et base de données MS-ACCESS
    Par zarohn dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/11/2010, 20h54
  5. Risques après récupération de données avec un logiciel ?
    Par Niagala dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 28/03/2008, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo