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

Signaler
Messages postés
180
Date d'inscription
vendredi 11 février 2011
Statut
Membre
Dernière intervention
22 mai 2016
-
 Nico -
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.

3 réponses

Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
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. ????????
12
Merci

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

CCM 61988 internautes nous ont dit merci ce mois-ci

Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
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
Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
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
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)
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
10
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 !
> Nico
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
10
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!!!