Transformer cellules excel en fichiers txt

Shidy06 -  
tousens Messages postés 1 Statut Membre -
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 !



A voir également:

2 réponses

Morgothal Messages postés 1350 Statut Membre 183
 
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
MrAkulyu
 
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 13513 Statut Modérateur 2 763
 
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 Statut Membre > pijaku Messages postés 13513 Statut Modérateur
 
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