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]Ecriture de données dans un fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut [VBA-E]Ecriture de données dans un fichier texte
    Bonsoir tout le monde
    je voudrais écrire des données dans un fichier texte : l'écriture en elle même ne pose pas de problème.
    LEs données sont en colonne, avec un titre à correspondant à chacune d'entre elles; voila ce que ca donne.
    Titre1 Titre2 Titre3
    x x x
    x x x
    x x x
    x x x

    Je voudrais décaler les données (x) en dessous de chaque titre, est-ce qu'il existe une fonction le permettant ?

    Merci d'avance

  2. #2
    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 038
    Points
    20 038
    Par défaut
    bien si utilise la fonction excel enregistrer sous .. format texte séparer par tabulation ...
    cela ne te convient pas ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Ecriture de données dans un fichier texte
    En fait j'ai pas essayé ca parce que je voudrais que ca se fasse automatiquement, que tout s'écrive avec des espaces, et tout et tout
    C'est possible de la faire automatiquement ou pas??

  4. #4
    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 038
    Points
    20 038
    Par défaut
    regarde déjà si cela te va ... puis utilise l'enregistreur de macro pour trouver le code qui va avec !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ok, je tente ca de suite
    merci bien

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    mais il y a un petit probleme non??
    Ca peut marcher avec un fichier texte?? : c'est pas excel donc on ne peut pas enregistrer de macro si?

  7. #7
    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 038
    Points
    20 038
    Par défaut
    ben tu n'as pas dis sous quoi tu coder ... et moi envoyant un tableau j'ai pensé à Excel... alors dis nous quoi VBA-Excel...VBA-Word... VB6...?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Pardon,
    C'est du VBA Excel, mais une partie du programme concerne la lecture de données contenues dans un fichier texte, et l'écriture des resultats dans ce meme type de fichier.

  9. #9
    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 038
    Points
    20 038
    Par défaut
    d'onc tu peu enregistrer une macro excel qui manipule un fichier texte... !

  10. #10
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Commence par déterminer le nombre de caractères de chacune de tes colonnes, dans ton fichier texte, pour que ça soit bien en dessous des titres.
    Ensuite, tu devras te faire une fonction qui formatte tes chaines de caractères pour leur donner la bonne longueur, en rajoutant des espaces à la fin.
    Tu n'auras alors plus qu'à écrire ces chaines dans ton fichier texte.

    non?

  11. #11
    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 038
    Points
    20 038
    Par défaut
    Citation Envoyé par Megaxel
    Commence par déterminer le nombre de caractères de chacune de tes colonnes, dans ton fichier texte, pour que ça soit bien en dessous des titres.
    Ensuite, tu devras te faire une fonction qui formatte tes chaines de caractères pour leur donner la bonne longueur, en rajoutant des espaces à la fin.
    Tu n'auras alors plus qu'à écrire ces chaines dans ton fichier texte.

    non?
    ben non ... tu n'est pas obligé .. de rajouter des espaces... si tu utilise des tabulations comme séparateurs les textes s'alignent d'eux même lors de la consultation dans la pluspart des éditeurs...

    sinon si tu tiens à rajouter des espaces... voila une fonction ...:
    http://www.developpez.net/forums/vie...ht=len&start=3

  12. #12
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Je dirais "bof".
    S'il y a de trop grandes différences de longueur entre 2 éléments d'une même colonne, la tabulation est souvent insuffisante, et tu te retrouves avec des données décalées. Enfin, ça m'est arrivé plusieurs fois, alors quand le but est de formater un fichier visuellement, je fixe la longueur des colonnes.
    Si c'est pour un traitement informatique, je me jette sur un vrai bon séparateur (tabulation, ou autre), c'est vraiment plus simple.

  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 7
    Points : 14
    Points
    14
    Par défaut ecrire dans un fichier txt
    Bonjour,
    J'ai le même problème .je n'arrive pas à écrire dans un fichier texte.j'ai essayé plusieurs code mais ça ne marche pas.lorsque je compile le fichier en question n’apparaît pas.besoin de votre aide.je compte sur vous.merci!

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    si le but rechercher ressemble a ce qui suit alors voila
    Nom : Capture.JPG
Affichages : 1149
Taille : 128,0 Ko

    un exemple simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub ecriture()
        Dim fichier, rng, char
        char = " "
        Set rng = Range("A1:C4")
        tablo = rng.Value
        ReDim Tmatstring(rng.Columns.Count + 1)
        For i = 1 To UBound(Tmatstring)
            titre = titre & Cells(1, i).Text & "  "
            Tmatstring(i) = Application.Rept(" ", Len(Cells(1, i).Value) + 2)
        Next
        For lig = 2 To Cells(Rows.Count, 1).End(xlUp).Row
            For col = 1 To 3
                texte = texte & Mid(Cells(lig, col).Value & Tmatstring(col), 1, Len(Tmatstring(col)))
            Next
            texte = texte & vbCrLf
        Next
        ' Debug.Print titre & vbCrLf & texte
        fichier = "C:\Users\polux\Desktop\ttt.txt"
        x = FreeFile
        Open fichier For Output As #x
        Print #x, titre & vbCrLf & texte
        Close #x
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 7
    Points : 14
    Points
    14
    Par défaut
    Merci beaucoup.ca marche.Maintenant je me demandais comment faire pour récuperer le contenu d'un textbox ou listbox

  16. #16
    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 677
    Points
    18 677
    Par défaut

    Bonjour,

    en plus simple (B-A-BA du VBA) c'est l'utilisation de variables de type texte de longueur fixe …

    ___________________________________________________________________________________________________________
    Je suis Paris, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/05/2009, 10h10
  2. [A-00] Ecriture de données dans un fichier texte
    Par DamKre dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/10/2008, 15h29
  3. [CSV] Ecriture des données dans un fichier
    Par kagura dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2006, 22h55
  4. Réponses: 2
    Dernier message: 16/01/2006, 19h34
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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