[Excel/VBA]ecrire un fichier .txt [Fermé]

Signaler
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
-
 Pipo858 -
Bonjour,
Je souhaiterais faire une macro qui, à partir d'une feuille excel remplie de données, enregistre plusieurs fichiers .txt après avoir travaillé sur les données.
Le travail consiste principalement à de la mise en forme, car les fichiers seront soumis à des logiciels de statistiques qui ne prennent pas le même type de fichiers en entrée (certains une ligne de description spécifique, d'autres sont comma séparé, etc...).
Mais je bute sur l'enregistrement en .txt
J'ai donc créé (en fait copié du web et légèrement modifié) une petite macro pour voir si cela fonctionnait, et elle me génère des erreurs. La voici:

Private Sub AjoutDonnee()
Dim F As Integer
ChDir "C:\"

F = FreeFile
Open "C:\new.txt" For Append As #F
Print #F, "bonjour"
Close #F
End Sub



Lorsque le fichier new.txt n'existe pas, j'obtiens l'erreur excel "53: Fichier Introuvable". J'ai pourtant lu que si le fichier n'existait pas, il serait créé.
De plus, si je créais le fichier manuellement (via l'explorateur Windows), j'obtiens alors l'erreur "54: mode d'accès au fichier incorrect".

Je ne vois vraiment pas d'où peut venir le problème, j'ai pourtant cherché dans pas mal de forums et aides en ligne.

Merci d'avance,

Hoxus.

7 réponses

Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
6
Merci beaucoup à Armojax de s'etre penché sur mon problème. Créer la macro a du te prendre un certain temps!!!

Après l'avoir testé tel quel, la macro ne fait rien. Si je désactive (par des ' ) la suppression et le renommage de l'ancien fichier (sinon la macro ne s'executait pas car il n'existait pas encore), j'obtiens l'affichage d'une MsbBox m'indiquant que la convertion s'est effectué (comme prévu), sauf qu'il n'y a aucun fichier dans mon répertoire.
Si je désactive aussi l'affichage des erreurs, je retombe sur la même erreur:
erreur 53, fichier introuvable

Et si le fichier txt (FicTexte.txt) existe déjà, alors j'ai de nouveau l'erreur 54.


J'ai en fait l'impression que le problème ne vient pas d'un problème de code mais plutot de droit d'accès ou de création d'un fichier, ou directement du chemin d'accès.
Mais je ne vois pas quoi :(


4
Merci

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

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1842
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
9 juin 2020
1 389
Normalement, la macro fait correctement son boulot.
Je ne connais pas ton contexte, mais je pencherais aussi pour des questions d'accès.

Tes erreurs correspondent à :

- 53 : Fichier introuvable
- 54 : Mode d'accès au fichier incorrect
Bonjour,
Jai créé un fitre sur une feuille (feuille4)
J'aimerai que le resultat de ce filtre avec le bouton s'affiche sur la feuille 1
commen dois-je proceder.. ???
Merci bcp
Messages postés
1842
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
9 juin 2020
1 389
Bonjour Hoxus,

On peut faire un enregistrer sous... en format texte d'une feuille de classeur Excel. Evidemment, on n'a pas trop le choix de la mise en forme.

Pour du spécifique, le mieux est une macro.
Je t'ai fait un petit exemple, avec les spécifs suivantes :
- on crée une ligne de texte par ligne de cellules Excel
- la première ligne (entêtes de colonnes) n'est pas écrite
- les champs sont tous alignés, en complétant si nécessaire à droite avec des blancs
- il n'y a pas de séparateurs de champs (mais on peut en mettre, bien sûr)
- le fichier texte est créé dans le même répertoire que le classeur
- la version précédente est renommée avec une extension . bak, avec suppression de la version .bak antérieure.
Ça ne te conviendra pas forcément, c'est une façon de faire parmi d'autres...
C'est ici :
https://www.cjoint.com/?fqmalkvXhy
ce que tu a fait dans la description me sauverai la vie, mais le lien est mort... si jamais tu as encore les infos, tu pourrai les renvoyer stp???
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
6
Ce n'est pas du au fait de ne pas avoir fermé le fichier avant car ça plante dès la première utilisation.
Par contre j'ai réussi à contourner le problème en utilisant le système
activesheet.save as ...
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
6
Je bosse sur un portable sous Win XP pro patché SP2 et Office Xp pro.

Je ne connais pas d'option pour activer/désactiver l'écriture de fichier, que se soit avec Win (sauf lecture seule, mais elle est inactive) ou Office.

Donc je cherche...
Messages postés
5121
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
6 mars 2019
2 692
Bonjour,

En passant. Au cas où.

“F As Integer” ?
N'aurais-tu pas oublié de fermer le fichier la 1re fois ?

En passant. Pour essayer de relancer.
Bonjour,
c'est presque ce qui me faut ^^ en effet dommage que le lien soit mort :s