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 :

[VBA-E]Remplacement virgules par tabulation dans un fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de Mlezen
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 59
    Points
    59
    Par défaut [VBA-E]Remplacement virgules par tabulation dans un fichier texte
    Bonjour à tous,

    je dois réaliser une macro sous excel qui me permet d'écrire un tableau de données en trois colonnes, jusque là, aucun problème, mais le séparateur des colonnes est une virgule. Or, le logiciel qui traitera les données n'accepte que les tabulations comme séparateur. Auriez-vous une idée pour changer simplement (je ne suis pas forcément très doué) les virgules en tabulations. En sachant que je ne peux pas importer les données sous excel car le tableau a plus de 1 000 000 de lignes...

    j'utilise la fonction :
    write #1, x, y, z

    pour écrire dans mon fichier texte.

    Merci d'avance

    M

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    peut etre un utilisant la fonction chr qui te permettra de mettre le caractère que tu veux (si mes souvenirs sont bons pour la tabulation c'est chr(9) )

  3. #3
    Membre éclairé
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Points : 854
    Points
    854
    Par défaut
    Utilise la fonction Replace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    NouveauTexte = Replace(AncienTexte, ",", vbTab)

  4. #4
    Membre du Club Avatar de Mlezen
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Merci!
    Et je la mets où, comment?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu ouvres un nouveau fichier #2 en écriture
    Tu ouvres ton fichier #1 en lecture
    pour chaque ligne lue dans #1 tu effectues le remplacement des virgules par des tabulations et tu écris le résultat dans #2
    A la fin, tu supprimes ou renommes #1 (conserve le fichier d'origine, on ne sait jamais) et tu renommes #2 -> #1
    Il y a un exemple donné sur le forum par jmfmarques il y a environ un mois. Tu pourrais faire une recherche sur ses réponses... mais il est vrai qu'elles sont nombreuses alors bon courage.

    A+

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    remplace ta fonction write... par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      print #1, x & vbtab & y & vbTab & z

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    J'avais pensé à cette réponse, bbil mais qu'en est-il des virgules existantes, en lecture du fichier ? Ou : Comment lire (quelle syntaxe de lecture) x, y et z dans le fichier texte afin qu'ils soient isolés. Les virgules suffisent-elle ?

    Merci

    A+

  8. #8
    Membre du Club Avatar de Mlezen
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Merci de vos réponses.
    Petite précision, le fichier source a des tabulations comme séparateur (je ne sais pas si c'est utile...).
    En fait, ma macro permet de transformer un tableau initial qui à une ligne de coordonnées x, une colonne de coordonnées y et à l'intersection les z, en un tableau à trois colonnes x, y, z.
    Je teste tout de suite la fonction print.

    Quelle est la différence (dans les grandes lignes), print<>write?

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Write place des guillemets de part et d'autre de la ligne
    Print n'en ajoute pas

    A+

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Dans ton premier message tu
    mais le séparateur des colonnes est une virgule
    puis
    Auriez-vous une idée pour changer simplement (je ne suis pas forcément très doué) les virgules en tabulations.
    Citation Envoyé par Or, dans ton dernier message, tu
    le fichier source a des tabulations comme séparateur
    Qu'en est-il ?

    A+

  11. #11
    Membre du Club Avatar de Mlezen
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 59
    Points
    59
    Par défaut
    Un grand merci à tous, print marche parfaitement. C'est totalement ce que j'attendais!

    Oui, je n'ai pas été clair...
    Le fichier que j'ouvre dans ma macro est un fichier .txt avec des tabulations. Je le fais lire par la macro et retravaillé par elle. A la fin, le fichier que j'enregistre dans un autre fichier.txt avait des virgules comme séparateur (je ne sais pas si je suis très clair là aussi...).

    Encore merci!

Discussions similaires

  1. [Python 3.X] Remplacer virgule par point dans un fichier csv
    Par marco056 dans le forum Général Python
    Réponses: 2
    Dernier message: 21/11/2014, 18h20
  2. Débutant: Remplacer #ref! par 0 dans mon fichier xls
    Par billy78 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 11/06/2007, 15h41
  3. Réponses: 8
    Dernier message: 23/04/2007, 19h30
  4. [VBA-E]Remplacer 125- par -125 dans des cellules
    Par ju75011 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 12/02/2007, 15h21
  5. [TP7] Insérer dans une tabulation dans un fichier texte
    Par astyan dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 05/08/2006, 14h58

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