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 :

Import TXT dates mal reconnues


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juin 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2014
    Messages : 18
    Par défaut Import TXT dates mal reconnues
    Bonjour
    j'importe un fichier txt dont certaines colonnes comportent des dates au format xx/xx/xxxx. (sous excel 2010)
    Le problème c'est que certaines cellules sont bien interprétés d'autres sont considérées comme du texte.
    dans ma macro d'import, même si je change le format de la colonne ça ne change rien
    pour que la valeur soit validée il me faut faire un double clic sur la cellule puis valider pour qu'excel prenne la valeur en date.

    je ne vois qu'une solution
    compter le nombre de ligne X
    et faire exécuter à excel une multiplication par 1
    de la ligne 2 à la ligne x
    pour chaque cellule NON vide
    valeur = valeur *1


    quelqu'un peut-il me donner le code svp ?

    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Il faudrait voir comment tu importes ces fichiers.
    En utilisant le DataObject d'Excel, ça pourrait régler le problème.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juin 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2014
    Messages : 18
    Par défaut
    J'ai parcouru le WEB et il semble que ce problème soit récurant , mais je ne trouve pas de solution
    d'où ma question

    J'ouvre le fichier comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Workbooks.OpenText Filename:="C:\test\test.txt", _
            Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), 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), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
            Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
            28, 1), Array(29, 1), Array(30, 1)), TrailingMinusNumbers:=True

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Regarde le lien ICI

    J'y ai mis un exemple d'utilisation du DataObject.
    Ça prend une référence à Microsoft Forms 2.0

    Comme le fichier passe par le "clipboard" d'Excel, celui-ci réussit souvent à régler les formats par lui-même...

  5. #5
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juin 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2014
    Messages : 18
    Par défaut dataobject
    Merci Parmi
    mais je ne connais pas la méthode et je ne me sens pas de l'appliquer, car ça voudrait dire tout récrire
    en effet ma macro d'import fait toute une série d'opérations à la suite de l'import

    même si ce n'est pas très "propre" mon idée est de multiplier par un chaque cellule contenant une valeur
    excel l'affiche instantanément en date

    d'où ma demande il me faudrait un truc de ce genre:

    de la ligne 2 à x
    pour chaque cellule NON vide
    cells.value = cells.value *1

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Le but de mon exemple était d'éviter les manipulations de cellules, mais bon, si tu préfères...
    Après l'ouverture du fichier texte, quelque chose comme ceci devrait faire l'affaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim I as long, nbLignes as Long
    With Sheets("TaFeuille")
       nbLignes = .Cells(.Rows.Count, "A").End(xlUp).Row
       For i = 2 to nbLignes
          .Cells(I, TaColonne) = .Cells(I, TaColonne) * 1 'Ajouter d'autres colonnes au besoin sous cette ligne
       Next 
    End With

  7. #7
    Expert éminent
    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
    Par défaut

    Bonjour, bonjour !

    Citation Envoyé par roadrunner34 Voir le message
    J'ai parcouru le WEB et il semble que ce problème soit récurant
    Oui c'est un problème récurrent situé entre la chaise et le clavier, Excel n'y étant pour rien, juste un mauvais code …
    Pourtant en activant le Générateur de macros et en répondant correctement à l'Assistant d'importation,
    le code est livré sur un plateau !

    En joignant un fichier texte source à importer, on pourrait plus facilement corriger ce code d'importation.

    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  8. #8
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

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

Discussions similaires

  1. Import Excel format date nom reconnu
    Par slachromana dans le forum SAS Base
    Réponses: 2
    Dernier message: 11/07/2013, 09h56
  2. variable mal reconnue
    Par Félix62 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/05/2007, 19h59
  3. [3e cycle] Importance d'un diplome reconnu par cti ?
    Par zerovolt dans le forum Etudes
    Réponses: 2
    Dernier message: 13/03/2005, 14h18
  4. Import de date vers MSDE avec BCP
    Par slc dans le forum Outils
    Réponses: 4
    Dernier message: 16/08/2004, 12h28
  5. Le kernel version 2.6.3-mdk mal reconnu
    Par christophe D dans le forum Administration système
    Réponses: 5
    Dernier message: 23/03/2004, 10h03

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