Ecrire le contenu d'une cellule dans un fichier texte

bricedec Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vous sollicite car j'ai un tableau excel avec 5 colonnes et je voudrais écrire, pour chaque ligne, le contenu de la colonne 4 dans un fichier .txt dont le nom serait celui de la colonne 2.
la colonne 4 contient du texte et la colonne 2 des nombres entiers.
J'ai écrit un code qui a marché sur un autre tableau mais pour une raison que j'ignore cela ne marche pas cette fois-ci.


Sub Prog_Mails()

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

'Initialisation des constantes
Sheets("Feuil1").Select 'Remplacer "Feuil1" par le nom de la feuille Excel
chemin = "D:\corpus_mails\" 'Inscrire le chemin vers le dossier dans lequel les mails en .txt seront rangés

'Initialisation des variables
ligne = 0
ID = 2
Text = 4
'Recherche du nombre de lignes
Do
ligne = ligne + 1
Loop Until Cells(ligne, 2) = ""
ligne = ligne - 1

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

nomfic = Cells(i, ID)
info = Cells(i, Text)

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

Next

End Sub


Merci d'avance pour vos réponses.
A voir également:

2 réponses

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Bonjour,

C'est juste une supposition mais est-ce que au lieu de :

For i = 1000 To ligne


ça ne serait pas plutôt :

For i = ligne To 1000


?

Si ce n'est pas ça explique nous pourquoi ça ne marche pas : ça crée une erreur (Si oui à quel ligne), ça ne crée pas de fichier, les fichiers sont vides, etc.

--
  • Vous pouvez mettre en forme votre code grâce à la flèche en haut a droite de l'éditeur de texte.

Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utiles."
0
bricedec Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Alors non ce n'est pas ça le problème. J'avais testé plusieurs cas possible pour voir si ce n'était pas une ligne en particuliers qui posait problème.

Ici ligne est le résultat de la boucle qui compte le nombre de lignes du tableau. Donc c'est plutôt:
For i=1 To ligne


Excel m'affiche l'erreur 52: nom ou numéro de fichier incorrect. Les noms des fichiers sont des séries de 9 nombres.

J'ai réussi à le faire sur R car j'y suis plus à l'aise donc ce n'est pas grave si on ne résout pas ce problème, mais ça me taraude un peu quand même...
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Oui mais justement si tu laisse

For i = 1000 To ligne


ça va pas marcher car ligne sera plus petit que 1000 :)
0