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 :

PB d'interprétation des champs standard lors de l'import d'un fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 20
    Points
    20
    Par défaut PB d'interprétation des champs standard lors de l'import d'un fichier texte
    Lors de l'import d'un fichier texte avec séparateur ";", les champs commençant par un signe mathématique "-","+", etc... sont stockés avec un signe "=".
    Excel les interprète comme des formules et la cellule passe en erreur "#?NOM".

    Y a t'il un moyen d'éviter l'interprétation ?

    Voici le code d'import utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub ImportText(FileName As String, PosImport As Range)
        Dim QT As QueryTable
        Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=PosImport)
        With QT
            .TextFileSemicolonDelimiter = True
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .Refresh
        End With
    End Sub
    Merci pour l'aide

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Le plus simple est de l'ouvrir en utilisant l'enregistreur de macro.
    Sur les colonnes qui contiennent des "+" / "=" ou autre, tu les définis en format texte. Ca ne te les interprétera plus comme des formules.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2008
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    L'utilisation de l'enregistrement d'une macro ne fonctionne pas, Excel reste têtu et insère systématiquement un "=" devant tous les signes mathématiques du texte qu'il récupère.

    N'y a t'il pas une propriété de Application. ou autre en VBA qui évite cet inconvénient.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 48
    Points : 61
    Points
    61
    Par défaut
    Bonjour


    En suivant le conseil de oOVaveOo

    (en partant du fichier texte suivant)
    a;=1;b;=3
    a;=10;b;=4
    a;=12;b;=5


    Avec le code ci-dessous
    le signe = est considéré comme du texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub MACRO_TEST()
    ChDir "D:\Test"
    Workbooks.OpenText Filename:="D:\Test\testt.txt", _
        Semicolon:=True, _
        FieldInfo:=Array(Array(1, 1), Array(2, 2), _
        Array(3, 1), Array(4, 2))
    End Sub


    J.L

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2011, 12h17
  2. Réponses: 2
    Dernier message: 10/06/2009, 16h38
  3. Réponses: 2
    Dernier message: 01/06/2007, 09h34
  4. Réponses: 4
    Dernier message: 04/04/2007, 07h46
  5. Réponses: 4
    Dernier message: 20/02/2007, 16h50

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