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 :

Macro - import et export fichier texte


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut Macro - import et export fichier texte
    Re le Forum,

    Ca y est je deviens accroc a VBA et tout ce qu'il permet d'automatiser comme tâche

    1 ère Question :

    J'ai une vieux fichier excel avec macro qui génère un fichier texte à la fin de son execution.

    J'ai un souci avec le champ téléphone qui se remet au format numérique et me supprime le 1er zéro quand j'ouvre mon fichier texte.

    J'ai pourtant indiqué le format dans ma macro et ne voit pas ce qui cloche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Sheets("Feuil1")
    .Range("E1").NumberFormat = "@"
    End With
    J'ai même essayé cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim FormatTel As String
    FormatTel = Range("E1").NumberFormat
    Range("E1").NumberFormat = "0000000000"
    Range("E1").NumberFormat = FormatTel
    Comment puis-je conserver mon zéro dans mon fichier texte final ?

    2 ème question :


    Dans un autre fichier avec macro j'importe un fichie texté dont le formatage est dans le code de la macro.
    Quand j'importe ce fichier texte, j'ai un champ correspondant à des réferences (16 chiffres).
    Excel s'obstine à remplacé mon 16 ème chiffre par un 0.
    Le dernier chiffre est remplacé par un 0 en lieu et place de celui qui est dans mon fichier texte.
    J'ai beau avoir mis le format texte à l'ouverture du fichier que mes données sont transformées.


    Ex: Dans le fichier texte j'ai 2543935641257896 quand il est imorté il me met 2543935641257890



    Par avance, merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour la première question ajoute une apostrophe devant tous nombres ' 33 1 001. C'est la manière la plus sûre d'éviter les soucis.
    Ne jamais oublier que le format d'une cellule ne modifie pas sa valeur.
    Dès que l'on place un nombre dans une cellule même précédé par + l'éditeur incorporé dans Excel interprète cela comme un nombre et le gère comme tel. De la même manière si tu tape 01/05 il l'interprétera comme une date. Par défaut il le considérera comme étant de l'année en cours mais le formatera comme 01-mai, cad "dd-mmm"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut
    Corona,

    Merci pour ta réponse.

    Si je mets dans la macro un ' devant cela ne change rien, le 1er zéro ne se retrouve pas dans mon fichier texte généré.

  4. #4
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,
    comment importes-tu le fichier ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 38
    Par défaut
    Hélas,

    A la lecture de ta question, je pense en effet que j'ai omis de dire le plus important.

    Pour laa question 1 :

    J'ouvre mon ClasseurA.XLS possédant uniquement les intitulés de colonnes (celui qui contient les macros), j'ouvre un autre ClasseurB.xls remplit de données (sans macro). Je copie les colonnes du classeurB vers le classeur A.
    Une fois que j'ai collé toutes les données dont j'avais besoin dans mon classeurA, je clique sur un bouton macro qui m'enregistre un fichier texte formaté.

Discussions similaires

  1. [Toutes versions] Code vba macro excel 2010 import de plusieurs fichiers texte
    Par Eagle-I dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/12/2011, 12h25
  2. Réponses: 2
    Dernier message: 04/06/2007, 15h39
  3. Base de donnée et export fichier text
    Par Kastagne dans le forum MFC
    Réponses: 6
    Dernier message: 07/03/2006, 22h27
  4. export fichier texte et entête de colonne - DTS
    Par REMACC1 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/02/2006, 10h58
  5. importation d'un fichier texte vers excel
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2005, 11h47

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