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 date après conversion csv [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut Problème date après conversion csv
    Bonjour à tous.

    J'ai converti un fichier csv en formal excel via le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
            True
    Malheureusement j'ai un problème au niveau des formats de date.

    Certaines dates sont bien convertit, d'autre non.

    Que faire...?

    HELP ME PLEASE

    Cdt

    Tiviia

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    Lire l'aide de la méthode TextToColumns concernant son argument
    FieldInfo car aucune colonne dans le code n'est définie comme date !

    Si le fichier s'ouvre bien manuellement dans une version française d'Excel et qu'il n'y a pas de souci de date,
    le plus simple serait alors de commencer par comme souvent indiqué sur ce forum ‼

    Sinon ouvir le fichier csv via le Bloc-notes afin de vérifier si les dates y sont correctes ou pas …

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    Re Bonjour Marc-L

    J'ai modifié mon code en précisant les colonnes qui sont des dates :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, xlTextFormat), Array(20, xlDMYFormat), Array(25, xlDMYFormat), Array(28, xlDMYFormat)), TrailingMinusNumbers:= _
            True
    Mais il y a toujours des dates qui ne sont pas convertis..

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Et en l'ouvrant manuellement ?

    Et la vérification des dates via le Bloc-notes ?

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    Bonsoir

    En ouvrant avec le bloc note et en mode manuel via excel..les dates sont normales..

    Je ne comprend pas pourquoi certaines ne sont pas convertis, elles restent en format texte (selon moi).



  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Et au fait c'est quoi le séparateur ?

    Version d'Excel (devant être indiqué dans le titre du sujet comme préconisé sur ce forum … ), française ou pas ?


    __________________________________________________________________________________________
    Il n'y a pas que les aigles qui atteignent les sommets, les escargots aussi mais ils en bavent !

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    Le séparateur c'est le point virgule .

    Et j'utilise EXCEL 2010!

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Version d'Excel française ou pas ?

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    oui Française

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    La vache, c'est comme pour l'ouverture manuelle et la vérification dans le Bloc-notes,
    il faut tout demander deux fois avant d'obtenir une réponse ‼

    Pour résumé, dans une version française d'Excel un fichier .csv délimité ; est converti sans souci en l'ouvrant manuellement.

    Pourquoi donc ne pas avoir appliqué la solution donnée il y a déjà deux jours dans ton précédent sujet
    et pourtant rappelée ici même hier à 17h, la première réponse de ce sujet :
    Citation Envoyé par Marc-L Voir le message
    Si le fichier s'ouvre bien manuellement dans une version française d'Excel et qu'il n'y a pas de souci de date,
    le plus simple serait alors de commencer par comme souvent indiqué sur ce forum ‼

    Là on en est à la troisième fois …

    Et une seule ligne de code suffit ‼

    Et si tu avais commencé par une recherche, tu n'aurais pas eu besoin de poster ces sujets
    car tu aurais trouvé la solution comme par exemple ici ou même et encore dans celui-ci !

    Deux jours …


    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    __________________________________________________________________________________________
    Lire … C'est s'investir ! (Marc L)

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    Le fait d'ouvrir le fichier csv en mode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Workbooks.Open Fich, Local:=True
    Ne permet pas de faire des copier/coller !

    J'ai bien lu et testé toutes tes remarques.

    Malgrès ça le problème de date subsiste ...

  12. #12
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Comment le deviner sans retour ?!


    Qu'est-ce donc c'est histoire de copier / coller ?

    De mon côté sur différents ordinateurs avec différentes versions d'Excel cela fonctionne sans aucun souci ‼


    Autres astuces (mais tellement évidentes) :

    • paramétrer chaque colonne au bon format avant l'importation peut aider aussi (méthode TextToColumns) …


    • Ouvrir manuellement le fichier en utilisant l'Enregistreur de macros pour voir le code généré.


    Sinon mettre le fichier csv en pièce jointe en indiquant un n° de ligne et la date importée au lieu de celle attendue …


    __________________________________________________________________________________________
    Si vous aviez le choix entre la fortune de Bettencourt et la paix dans le monde, de quelle couleur serait votre Ferrari ?!

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    voila code que j'ai trouvé:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim derligt As Long
     derligt = ActiveSheet.Range("T" & Rows.Count).End(xlUp).Row
    Range("$T$2:$T$" & derligt).Select
    Selection.TextToColumns Destination:=Range("T2"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, xlDMYFormat), TrailingMinusNumbers:=True
     
    Range("$T$2:$T$" & derligt).Select
    Selection.TextToColumns Destination:=Range("T2"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, xlDMYFormat), TrailingMinusNumbers:=True

    PS: il fonctionne !

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

Discussions similaires

  1. [XL-2003] Convertir une colonne en date apres import CSV
    Par imaril dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 04/02/2010, 15h48
  2. Réponses: 4
    Dernier message: 25/05/2009, 13h50
  3. Format de Date après ouverture en CSV
    Par nono le golfeur dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/07/2008, 18h27
  4. Problème sur la conversion d'une date
    Par mich38 dans le forum VBA Word
    Réponses: 11
    Dernier message: 21/01/2008, 17h39
  5. problèmes après conversion d'access 97 à 2000
    Par david-lars dans le forum Access
    Réponses: 7
    Dernier message: 19/12/2005, 16h16

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