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 :

Créer un fichier texte à partir de données Excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Créer un fichier texte à partir de données Excel
    Bonjour,

    Je sèche completement sur une macro Excel.
    Voilà ce que je voudrais faire : J'ai un fichier Excel et je voudrais générer avec une macro un fichier texte contenant les valeurs d'une colonne. J'ai trouvé des moyens de m'en sortir mais je dois entrer en dur le nom du fichier dans la macro, le nom du fichier est donc toujours le même et je dois le modifier à la main.
    J'aimerais réussir à créer un fichier texte dont le nom serait la valeur d'une cellule au contenu variable (je m'occupe de la fonction générant le nom du fichier). Par exemple si la formule de la cellule T1 rend "toto", la macro génére un fichier toto.txt contenant les valeurs de la colonne S (une ligne dans le fichier texte pour chaque cellule non vide dans S).
    Cela serait déja génial, mais le top du top , et là je pense que ça se complique , serait de pouvoir générer plusieurs fichiers texte aux noms différents regroupant les valeurs de la colonne S selon par exemple les différentes valeur de la colonne R.
    Je ne sais pas si j'arrive à être clair, donc je donne un exemple :

    Colonne R...Colonne S...Colonne T
    Ligne 1...........10..............A.............Toto
    Ligne 2...........10..............B
    Ligne 3...........2Z..........Azerty
    Ligne 4...........3G..........Bonjour

    Ce qui nous donnerai en sortie 3 fichiers textes (3 valeurs différentes dans R) avec des noms fonctions et de la valeur de la cellule T1 et de la valeur dans R :
    - Toto10.txt contenant 2 lignes, une avec "A" l'autre avec "B"
    - Toto2Z.txt contenant 1 ligne avec "Azerty"
    - Toto3G.txt contenant 1 ligne avec "Bonjour"

    Si ce n'est pas possible je me "contenterai" en sortie d'un fichier unique Toto.txt avec 4 lignes :
    A
    B
    Azerty
    Bonjour

    Une dernière demande : Est-il possible de générer le fichier sans extension .txt (je dois ensuite envoyer le fichier contenant le texte dans une application et ce sans extension)?

    Merci d'avance à ceux qui essaieront de m'aider, que ce soit avec ou sans succès.

    Arnaud.

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Dans ce code il faut juste que la colonne R soit classée

    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
     
    Dim i As Long
    Dim strNom As String
     
    i = 1
     
    Do While Range("R" & i).Value <> ""
        If strNom <> Range("R" & i).Value Then
            If strNom <> "" Then Close #1
            strNom = Range("R" & i).Value
            Open "d:\toto" & Range("R" & i).Value & ".txt" For Output As #1
        End If
     
            Print #1, Range("S" & i).Value
     
        i = i + 1
    Loop
    Close #1

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Si tu ne vas pas d'extension, tu vides la partie ".txt"

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Milles merci!
    Bonjour et merci beaucoup!

    J'ai repris le script qui marchait bien et à partir de cette base solide, j'ai même pu rajouter quelques améliorations spécifiques à mon fichier.
    Résultat : Une macro qui fait exactement tout ce que je voulais.
    Voilà qui va me faire gagner beaucoup de temps!

    Jérome, tu as toute mes congratulations pour ta réponse non seulement excelente, mais rapide!

    Très bonne année et toi et aux membres du forum!

    Arnaud.

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

Discussions similaires

  1. [Toutes versions] Générer un fichier XML à partir de données Excel et d'un xsd
    Par outrun13 dans le forum Excel
    Réponses: 1
    Dernier message: 19/10/2013, 01h04
  2. Comment créer un fichier TEXT à partir d'une page HTML ?
    Par Zebulon777 dans le forum VBScript
    Réponses: 0
    Dernier message: 17/09/2010, 14h23
  3. Créer un fichier texte à partir d'Excel ?
    Par kiliky dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/11/2007, 08h00
  4. Réponses: 21
    Dernier message: 05/06/2006, 10h49
  5. Réponses: 1
    Dernier message: 24/05/2005, 14h50

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