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 :

Sélectionner un répertoire et créer un fichier TXT avec le contenu d'une colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien en automatisme industriel
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en automatisme industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Par défaut Sélectionner un répertoire et créer un fichier TXT avec le contenu d'une colonne
    Bonjour à tous,

    Après de multiples heures de lecture sur divers forum VBA EXCEL, j'ai finis par me décider a poser directement la question.

    Je souhaite créer une macro sous EXCEL qui s'exécute lorsque l'on appuie sur un bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Bouton_Export_Fichier_TXT()
     
    Dim chemin As ????????
     
    //Le code qui va bien
     
     
    End Sub
    1) La macro ouvre un explorateur WINDOWS et me demande de sélectionner un réportoire, et d'entrer un nom pour le fichier.
    2) Ensuite elle créer un fichier .txt, et recopie dedans le contenu de la colonne ("D3-D8194") qui se trouve sur l'onglet nommé "Export" de mon fichier EXCEL.
    3) Elle sauvegarde le fichier .txt sur le chemin qui à était selectionné.

    Est ce que quelqu'un a un exemple de code pour réaliser cela ?
    Pour info je suis sous EXCEL 2010 et Microsoft Visual Basic pour Application 7.0

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent
    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
    Par défaut

       Bonjour !

       Aucune difficulté, à la portée donc d'un débutant …

       1) Voir la méthode GetSaveAsFilename documentée dans l'aide VBA interne.

       2 & 3) Copier la colonne dans un classeur vierge puis utiliser la méthode SaveAs.

       En activant l'Enregistreur de macro puis en effectuant manuellement les opérations, une base de code est livrée sur un plateau !

    _________________________________________________________________________________________________________
       Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    Voici un début de solution.
    Cela fait apparaitre la boîte de dialogue enregistrer sous
    Et enregistre ton doc au format texte avec le nom et l'emplacement choisit dans la boîte de dialogue.

    Bien penser, avent à ce placer sur la bonne feuille.
    Et virer les données inutiles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub enregistre_txt()
        nom = Application.GetSaveAsFilename(, "Fichiers texte (*.txt), *.txt")
        Application.ActiveWorkbook.SaveAs nom, xlTextWindows
    End Sub
    En espérant qu'au minimum, cela te mette sur la bonne voie.

    edit : Marc-L a été plus rapide que moi. Je vois que le contenu est presque le même. C'est qu'on est pas loin de la bonne solution ;o)

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien en automatisme industriel
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en automatisme industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Par défaut
    J'ai suivis vos conseils, et voici le code que j'ai intégré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Bouton_Export_Fichier_TXT()
     
        Dim nom As String
     
        nom = Application.GetSaveAsFilename(, "Fichiers texte (*.txt), *.txt")
        Application.Worksheets("Export").SaveAs nom, xlTextWindows
     
    End Sub
    Le résultat est presque bon sauf que :
    - Ça copie tout le workbook("Export") - mais je ne veux copier qu'une seule colonne bien définie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Export").Range("D3: D8194")
    - Ça modifie le nom de l'onglet "Export" avec le nom du fichier .txt


    Je vais creuser plus dans la fonction SaveAs et GetSaveAsFilename....

Discussions similaires

  1. Cmd ECHO créer un fichier txt avec l'heure comme nom
    Par Seth_Nemesia111 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 10/03/2015, 14h42
  2. Lecture fichier txt avec n occurrences selon une zone
    Par manu4u2 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 21/10/2014, 15h24
  3. Réponses: 8
    Dernier message: 01/06/2010, 14h33
  4. créer un fichier txt avec c++
    Par fatjoe dans le forum C++
    Réponses: 1
    Dernier message: 15/01/2008, 22h21
  5. Creation d'un fichier txt avec le resultat d'une requete
    Par christ-94 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/09/2006, 11h00

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