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 :

probléme import de données texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 74
    Par défaut probléme import de données texte
    voila j'importe des données d'un fichiers texte avec la macro ci dessous,
    mais lorsque ces données ci sont importées (LDV121_520 Mod 01/11 20:52 CJ LDV 01/11 00:25)
    la date est transformé en 11/1/09 0:25

    code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Dim ligne As String, strFullName, i As Long
    Sheets("aller").Select
        Cells.Select
        Selection.ClearContents
     
    strFullName = Application.GetOpenFilename("Fichiers textes (*.txt),*.txt", , _
        "Sélectionnez un fichier aller:")
     
        Open strFullName For Input As #1
     
        Do While Not EOF(1)
                Do While (Not EOF(1)) And (i < 65536)
                    i = i + 1
                    Input #1, ligne
                    Cells(i, 1).Value = ligne
                Loop
            If i < 65536 Or EOF(1) Then Exit Do
                i = 0
                Worksheets.Add 'Ajoute une feuille si fichier text >65536 lignes
        Loop
        Close #1
     Range("A:A").TextToColumns Destination:=Range("A1"), _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, _
            Tab:=True
    une petite idée?

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pour eviter cela, tu peux modifier le format de la cellule en le forcant à "Texte"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                Do While (Not EOF(1)) And (i < 65536)
                    i = i + 1
                    Input #1, ligne
                    Cells(i, 1).NumberFormat="@"
                    Cells(i, 1).Value = ligne
                Loop

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 74
    Par défaut
    non la date est toujours inversé ce qui est bizarre c'est que les dates tels que (31/10) sont bien sorti en 31/10 la cela foire c'est pour les dates tel que 01/11 qui devienne 11/01

    j'ai essaye une macro pou changer les cellules aprés l'importation quand je le fais cellule par cellule j'ai ce que je veut
    mais quand je fais une boucle ou que je traite sur une colonne ca saute.
    les 01/11 redevienne des 11/01.
    il y a comme un truc que je comprend pas la????
    si besoin je vous file les fichiers de données à traiter pour voir
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Si tu utilises bien cette ligne, il n'y a aucune raison pour qu'excel change le format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 1).NumberFormat = "@"
    Peux tu faire voir ton code et mettre un bout de fichier si le probleme persiste

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 74
    Par défaut
    j'ai joint le fichier plus haut !
    et voici le code en entier essayez et dite moi quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub importretour()
    Dim ligne As String, strFullName, i As Long
    Sheets("retour").Select
        Cells.Select
        Selection.ClearContents
     
    strFullName = Application.GetOpenFilename("Fichiers textes (*.txt),*.txt", , _
        "Sélectionnez un fichier retour:")
     
        Open strFullName For Input As #1
     
        Do While Not EOF(1)
                Do While (Not EOF(1)) And (i < 65536)
                    i = i + 1
                    Input #1, ligne
                    Cells(i, 1).NumberFormat = "General"
                    Cells(i, 1).Value = ligne
                Loop
            If i < 65536 Or EOF(1) Then Exit Do
                i = 0
                Worksheets.Add 'Ajoute une feuille si fichier text >65536 lignes
        Loop
        Close #1
     Range("A:A").TextToColumns Destination:=Range("A1"), _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, _
            Tab:=False
     
    End Sub

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    A mon avis tu as le problème car la colonne qui récupère le champ avec la date est au format date.
    Fait le test sur une feuille complètement vièrge, je suis quasiment certain que tu n'auras pas le problème.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème importation des données via talend
    Par france38 dans le forum SugarCRM
    Réponses: 0
    Dernier message: 20/05/2011, 15h41
  2. [XL-2007] Importation des données texte
    Par taoufik007 dans le forum Excel
    Réponses: 1
    Dernier message: 14/07/2009, 08h43
  3. DTS importation de données texte - probleme format datetime
    Par kungouf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/10/2006, 17h00
  4. Problème Import de données Excel dans Access
    Par francoisd dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2006, 17h46
  5. [VBA-A] problème d'import de données texte
    Par David M dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/05/2006, 15h45

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