Enregistrer les données d'un classeur excell dans un fichier texte et les lire d
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008
-
1 avril 2005 à 20:35
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008
-
4 avril 2005 à 17:52
Slt,
Comme le dit le titre de ce post, je cherche comment enregistrer les valeurs des cellules de mon appli excel dans un fichier texte. Les données y seront alors séparé par un point virgule (ou un truc dans le genre).
Je cherche ensuite comment pouvoir aller récupéré ces valeurs depuis une autre appli excel.
Ces 2 applis sont bien distincte et le fichier texte sera stocké sur le reseau de l'entreprise.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 2 avril 2005 à 04:01
Salut
Rien de plus simple : il suffit d'enregistrer ton fichier excel au format CSV
Par défaut, je crois que le séparateur est le point-virgule, mais tu choisis ce que tu veux.
Pour relire, suffit d'ouvrir le fichier CSV depuis Excel.
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008 2 avril 2005 à 10:45
Dans mon cas c'est un peu plus compliquer car je souhaite enregistrer que certaine de mes donées.
J'ai un classeur qui comporte plusieurs feuille dont le nombre de données peut varier.
Je souhaiterai enregistrer les données que de certaines cellules, mais qui se trouvent répartis dans plusieurs de ces feuilles.
Pour résumé je cherche le moyen d'écrire le contenu de cellules bien précise dans un fichier texte. (il faut écrire les données une par une je suppose)
Au pire je peut rappatrier toutes les données que je souhaite sauvegarder dans une feuille que je rajouterai en fin de classeur. Il me suffirrai alors d'enregister uniquement cette plage de cellules.
Voilà mon problème, mais je ne sais pas trop comment m'y prendre.
galopin01
Messages postés133Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 octobre 20111 3 avril 2005 à 15:17
Bonjour,
1. Pourquoi vouloir les enregistrer dans un fichier texte si c'est pour les relire à partir d'Excel ?
2. Quel type de données ?
- String (une seule ligne) ? Combien de séparateurs (;) ? sinon integer, double, date...?
- Enregistrements (plusieurs lignes) ?
A+
olivier857
Messages postés188Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention10 avril 2008 3 avril 2005 à 16:44
Slt,
Mon application permet à un ingénieur de faire un chiffrage technique sur des appareils complexes qui sortent des règles de base du chiffrage.
Si je veux les enregistrer dans un fichier texte c'est parce que ces données techniques ,qui sont calculées par l'ingénieur, sont ensuite réutilisé plus tard dans une autre application excel par des commerciaux qui rajoute alors en fonction de celles-ci des accessoires à l'appareil.
Le but est d'enregistrer sur le réseau ces données dans un fichier texte ayant pour nom le numéro du devis, puis d'y faire appel dans l'autre appli en entrant ce numéro de devis dans une TextBox.
Je ne sais pas si le format de mes données a une grande importance puisque ce que je souhaite c'est enregistrer le contenu de mes cellules et non pas le contenu de variables VB.
Cependant le contenu de mes cellules peut être de type numérique (donc équivalant a des integer et single) et texte (donc équivalant a des string).
Quand à savoir si je souhaite créer un fichier texte a plusieurs lignes ou non, je ne sais pas encore, mais je pense qu'une seul ligne devrait pouvoir faire l'affaire.
Voilà j'espère que cela répond à tes interrogations et pourra m'éclaircir.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
ChDir "c:\devis"
Open "devis_" & Range("numéro_devis") & ".txt" For Output Shared As #1
For i = 0 To 11
If i <> 20 Then
ligne = ligne & valeur(i) & ";"
Else:
ligne = ligne & valeur(i)
End If
Next
Print #1, ligne
Close #1
Cependant il y a un petit hic, je voudrais éviter que les utilisateurs du programme puisse créer 2 fois un fichier portant le même nom ( correspondant donc a mon "devis_" & Range("numéro_devis") ) , car dans ce cas ils écrase le contenu du premier fichier. Cela arrive donc lorsqu'ils oublient de changer le numéro devis présent la cellule "num_devis".
Donc je cherche comment tester si le fichier est dejà existant avant de faire :
Open "devis_" & Range("numéro_devis") & ".txt" For Output Shared As #1
afin de les prevenir et de leur permettre soit de changer ce numéro soit d'accepter d'écraser le fichier.
fred bhf
Messages postés2Date d'inscriptionmercredi 2 mars 2005StatutMembreDernière intervention 4 avril 2005 4 avril 2005 à 09:25
Bonjour
Pour éviter de créer deux fois le même nom de fichier, je te propose
d'enregistrer les noms de fichiers dans un autre fichier texte ou dans
une feuille d'un classeur pour pouvoir comparer le nouveau nom de
fichier avec la liste existante. S'il existe déjà un message d'erreur
pourra alors être renvoyé (par exemple en utilisant une MsgBox).
Cette solution un peu 'bidouille" ne prendra pas en compte automatiquement la suppression éventuelle de fichier "devis".
Le mieux aurait été de pouvoir lire directement les noms de fichiers
exitants dans le répertoire mais sous VBA Excel, je ne sais pas encore
faire ça ....