Transformer cellules excel en fichiers txt

Fermé
Shidy06 - 17 juin 2011 à 22:18
tousens Messages postés 1 Date d'inscription dimanche 31 juillet 2016 Statut Membre Dernière intervention 31 juillet 2016 - 31 juil. 2016 à 23:09
Bonjour,

Je cherche à automatiser une tâche de la manière la plus simple possible, seulement je ne sais pas trop comment me lancer ni dans quel langage, étant novice dans le domaine.

Le principe :

- Un fichier Excel comportant deux colonnes : une avec un info X, l'autre Y.

- Chaque ligne de ce fichier comporte une information dans la colonne X et Y.

- La tâche devrait lire ligne après ligne le fichier Excel, et :

----- Pour chaque ligne, créer un fichier .txt nommé par le contenu de la cellule de la colonne X.

----- Inscrire dans le fichier tout juste créé deux lignes : Une avec la valeur X, l'autre avec la valeur Y.

----- Et faire ceci jusqu'a rencontrer une ligne dont les cellules sont vides.

Cela m'aiderait a gagner en efficacité lorsque je dois traiter un nombre important de lignes à la main...

Merci d'avance !



2 réponses

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
Modifié par Morgothal le 21/06/2011 à 09:19
Salut,

Si j'ai bien saisi ton problème, tu veux un fichier texte par ligne remplie?

Si c'est bien ça, il te suffit de coller ceci dans ton éditeur VBA (Alt+F11 dans Excel, puis double clique sur "ThisWorkbook" en haut à gauche) :

Sub Prog_Pour_Shidy06()  

Dim nomfic, info As String  
Dim chemin As String  
Dim ligne, colonne As Integer  

'Initialisation des constantes  
Sheets("Feuil1").Select 'Remplace "Feuil1" par le nom de ta feuille Excel  
chemin = "C:\Users\Clément\Desktop\DossierTest\" 'Inscris le dossier ou tu veux que tes fichiers txt soient rangés  

'Initialisation des variables  
ligne = 0  
colonne = 1  

'Recherche du nombre de lignes  
Do  
    ligne = ligne + 1  
Loop Until Cells(ligne, 1) = ""  
ligne = ligne - 1  

'Ecriture dans les fichiers txt  
For i = 1 To ligne  

    nomfic = Cells(i, colonne)  
    info = Cells(i, colonne + 1)  

    Open chemin & nomfic & ".txt" For Append As i  
    Print #i, info  
    Close i  
      
Next  

End Sub  


Si tu veux des précisions, n'hésite pas :)

A+
0
Bonjour.
Cette manip permet de créer un fichier txt pour chaque ligne.
cependant, seul le titre des fichiers txt contient la valeur de chaque ligne.

Plus concrètement, dans mon fichier excel, j'ai une phrase par ligne.

Quand je mets ce prog dans VBA, ça me crée les fichiers txt mais seul le titre du fichier contient la phrase. Quand j'ouvre le fichier, il n'y a rien.

Comment peut-on y remédier ?

Merci beaucoup !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 754
23 oct. 2014 à 13:32
Bonjour,

A toi d'adapter...
Il est dit ici que dans la colonne "colonne" on trouve les noms des fichiers txt et dans la colonne "colonne + 1" le texte à placer dans le fichier txt :

nomfic = Cells(i, colonne) 'nom du fichier txt 
    info = Cells(i, colonne + 1) 'texte à placer dans le fichier txt
0
tousens Messages postés 1 Date d'inscription dimanche 31 juillet 2016 Statut Membre Dernière intervention 31 juillet 2016 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
31 juil. 2016 à 23:09
Bonjour
Merci de cette macro qui m'est très utile, mais dans mon cas j'ai deux soucis:
1. La partie qui transforme les cellules en fichier txt doit débuter à partir de la cellule A3 ;
2. le nomfic 'le nom du fichier' doit être composé de la colonne 1 et 3 en même temps,

Pouvez-vous m'aider ? merci
0