Créer fichier txt avec macro VBA excel [Résolu/Fermé]

Messages postés
180
Date d'inscription
vendredi 11 février 2011
Statut
Membre
Dernière intervention
22 mai 2016
- - Dernière réponse :  Nico - 27 mai 2015 à 17:26
Bonjour,
J'aimerais créer un macro excel qui créer un fichier txt, que sont contenu soit le contenu d'une cellule du projet excel.
Et qu'il soit ouvert par la même occasion.
Merci d'avance.

Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14793
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 octobre 2019
1177
10
Merci
Bonjour,

Sub creer_TXT()
  Close
  chemin = "C:\repertoire"
  Open chemin & "Fichier.txt" For Output As #1
  Print #1, Worksheets("feuil1").Range("A1")
  Close
End Sub


Et qu'il soit ouvert par la même occasion. ????????

Dire « Merci » 10

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63597 internautes nous ont dit merci ce mois-ci

f894009
Messages postés
14793
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 octobre 2019
1177 -
Re,

chemin = "C:\Users\Florian\Desktop"

manque un \

chemin = "C:\Users\Florian\Desktop\"

pour ouvrir le fichier, je regarde la chose.
Merci j essaye ça demain je doit aller le coucher
f894009
Messages postés
14793
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 octobre 2019
1177 -
Re,

Sub creer_TXT()
  Close
  chemin = "C:\Users\Florian\Desktop\"
  Open chemin & "Fichier.txt" For Output As #1
  Print #1, Worksheets("Feuil1").Range("A2")
  Close
    'commande Pour XP, pour W7 cherchez le chemin
    Shell "C:\WINDOWS\notepad.exe " & chemin & "Fichier.txt"
  
End Sub


Bonne nuit les petits
thepatatane
Messages postés
180
Date d'inscription
vendredi 11 février 2011
Statut
Membre
Dernière intervention
22 mai 2016
4 -
Re déso pour le retard mais ça marche nickel merci beaucoup.
(Et je suis pas petit :p)
Laurent75_
Messages postés
1
Date d'inscription
samedi 23 mars 2013
Statut
Membre
Dernière intervention
23 mars 2013
-
Bonjour, javais un problème similaire mais grâce à vos réponses je vais pouvoir avancer.
Cependant, j'aimerais récupérer la colonne entière d'excel et l'exporter vers le fichier TXT.
Je pensais modifier la macro VBA et écrire:

Print #1, Worksheets("Feuil1").Range("AA")

mais le résultat ne marche pas. Est-ce que quelqu'un pourrait me renseigner?

Merci d'avance

PS: il s'agit de la première macro que je fais :)
Messages postés
2
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
21 juin 2013
9
8
Merci
Bonjour Laurent75_

Il y a une solution consistant à mettre la colonne A dans un tableau (array) dans un 1er temps puis alimenter le fichier txt à partir du tableau :
Dim Chemin As String
Dim DerniereLigne As Long           'Index de la dernière ligne
Dim Tableau() As Variant
Dim Ligne As Long

Chemin = "C:\VBA\"
DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row

'Création du tableau par une boucle
Ligne = 1
Do While Ligne <= DerniereLigne
 'Ajout 1 élément à l'array en conservant les éléments précédents
    ReDim Preserve Tableau(Ligne)
'Affectation de la valeur au nouvel élément           
    Tableau(Ligne) = Range("A" & Ligne).Value        
    Ligne = Ligne + 1
Loop

'Ecrit dans le fichier txt
Ligne = 1
Do While Ligne <= DerniereLigne
    Open Chemin & "Temporaire.txt" For Append As #Ligne
    Print #Ligne, Tableau(Ligne) & vbCrLf
    Close
    Ligne = Ligne + 1
Loop

MsgBox ("c'est ok")

End Sub
Bonjour, quelqu'un saurait-il créer ce tableau (array) s'il vous plait?

Merci de votre aide !
Sub test()

Close
chemin = "A:\db_gie\"
Open chemin & "Importation.txt" For Output As #1
Print #1, Worksheets("2j").Array("A1:D52")
Close

End Sub
Messages postés
2
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
21 juin 2013
9
1
Merci
Bonjour,
Petite rectification pour la 2è boucle : il faut mettre avant cette boucle
 Close

Puis mettre #1 et non #Ligne
Je ne sais pas si tu vas lire ce message un jour HoodRide, mais sâche que ton aide vient de me sauver la vie :p

Merci!!!