Ecrire le contenu d'une cellule dans un fichier texte

Fermé
bricedec Messages postés 2 Date d'inscription mardi 28 juillet 2015 Statut Membre Dernière intervention 29 juillet 2015 - 28 juil. 2015 à 17:10
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 29 juil. 2015 à 15:14
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 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
Modifié par skk201 le 28/07/2015 à 17:31
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 mardi 28 juillet 2015 Statut Membre Dernière intervention 29 juillet 2015
29 juil. 2015 à 09:54
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 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
29 juil. 2015 à 15:14
Oui mais justement si tu laisse

For i = 1000 To ligne


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