Copier les données d'un tableau vers un fichier texte

Thakys - Modifié par ucfoutu le 29/07/2015 à 16:23
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 30 juil. 2015 à 12:12
Bonjour,
Voila, j'ai un tableau, rempli avec une liste de programmation d'un téléphone
Les 3 premiers enregistrements du tableau sont : PROG1, Etiquette, Numéro, ensuite les valeurs suivantes du tableau sont les mêmes jusqu'à la PROG56

Il me faudrait exporter ce tableau vers un fichier .ini (en fait c'est que tu texte dedans) de configuration sur le serveur téléphonique des données de ce tableau en ayant un enregistrement du tableau est égal a une ligne du fichier .ini

Voila en gros ou j'en suis :

NomVariable = "cfg_tph_prog" & NumPo & ".ini"
NomFichier = "Z:\5-OPERATIONS\FONCTION\Radio\ETEC\Config ETEC\Disque ZIP\tph\" & NomVariable
Open "Z:\5-OPERATIONS\FONCTION\Radio\ETEC\Config ETEC\Disque ZIP\tph\" & NomVariable For Input As #1
For i = 1 To 156
Tb(i) = Cells(i, 7)
Next i
While Not EOF(1)
Line Input #1, Tb(i)
Wend
Close #1


Mais evidement, j'ai une erreur quand je veux écrire dans le fichier, quelqu'un a une idée ?

Merci

PS : Je ne suis pas un cador en VB, donc soyez indulgents !

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 29/07/2015 à 16:40
Bonjour,
1) J'appelle ton attention sur ces interventions qu'il m'a fallu faire et qui n'ont rien à voir avec tes connaissances en VB mais tout avec le respect des règles de ce forum :
- déplacement de cette discussion ouverte dans le forum général de Visual Basic vers le sous-forum adéquat : VBA
- mise entre balises code les lignes de code présentées.
Veux-tu bien (c'est important) veiller dorénavant à observer cette discipline nécessaire .
2)
Voila en gros ou j'en suis

que veut dire "en gros", dans cette affaire ? nous n'analysons pas du "n gros", mais les lignes de code réellement écrites (du copié collé de ton code)
3)
Mais evidement, j'ai une erreur quand je veux écrire dans le fichier, quelqu'un a une idée ?

Quel message exact d'erreur et su quelle ligne de code ? (toujours le préciser ... c'est très important)
4) tu nous montres un code d'ouverture en lecture et nous dis que tu as une erreur en écriture !
on ouvre un fichier texte for Output pour y écrire et For input pour y lire.
Reviens après nouvelle tentative sur ces indications, s'il te plait.
Et surtout, après avoir lu dans ton aide VBA (elle est là pour cela et elle est à consommer sans modération) tout ce qui y est dit en ce qui concerne l'instruction Open


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Merci
Desolé, j'avoue avoir posté à l'arrache sans prendre le temps de lire le format de posts sur le forum
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 29/07/2015 à 19:51
Et lorsque tu auras fini de lire ce qu'il faut lire (ton aide VBA).
Explique-moi quel étrange mécanisme de pensée te conduirait, pour copier les pages d'un livre vers un cahier, à faire les gestes suivants :
1) copie, tour à tour, de chacune des pages du livre vers une page d'un premier cahier
2) copie, tour à tour, de chacune des pages du premier cahier vers un second cahier
Cette remarque est très loin d'être anodine. Elle n'est qu'une question de bon sens (hors même informatique)
J'espère que tu vas comprendre pourquoi j'appelle ton attention sur ce point de simple bon sens.

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Bonjour,
En fait j'essaye de faire un certain nombre de manip en VBA en partant soit de codes que je récupère à droite et à gauche, soit en essayant de coder moi même
J'ai lu l'aide VBA concernant la manipulation de fichiers, mais c'est pas mal obscur pour moi, n'ayant comme base en programmation VBA que ce que j'ai pu apprendre à force d'en faire et si je n'ai pas trop de soucis sur la plupart des besoins que j'ai, j'ai beaucoup de mal a comprendre la mécanique de manipulation des fichiers.
Donc sur ce bout de programme, je n'ai pas vu du tout ce que tu explique au dessus
mon raisonnement etait le suivant :
D'abord je construit mon nom de fichier, car la variable NumPo peut varier de 1 à 198, et ce que je code pour ça est la facon dont j'arrive à inclure une variable dans un chemin d'accès, ce qui est probablement pas le meilleur moyen mais ca fonctionne et je n'ai pas besoin de plus
Ensuite, mes lignes de configuration des touches sont sur une feuille Excel avec une donnée par cellule, comme je n'arrivais pas a copier cellule par cellule ces données vers le fichier texte, j'ai tenté de passer par un tableau (d'ou la boucle)
Et ensuite je pensais que en copiant le tableau dans le fichier direct ça allait le faire
(Oui, j'ai buggé sur le InPut et OutPut )
Mais bon, après une nuit de sommeil je vois bien que c'est un peu n'importe quoi en fait ce bout de code, donc je vais me remettre dessus pour creuser ça
Merci en tout cas pour les réponses
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/07/2015 à 11:40
Regarde comme c'est facile avec tout bêtement et tout sagement ceci :
chemin_complet_fichier = '.............  ici le chemin COMPLET de ton fichier
Open chemin_complet_fichier For Output As #1
For i = 1 To 156
Print #1, Cells(i, 7).value
Next i
Close #1


pour reprendre ton code, mais il serait également prudent de préciser la feuille de calcul ===>> exemple si Feuil1 :
Print #1, Worksheets("Feuil1").Cells(i,7).value

EDIT :
en partant soit de codes que je récupère à droite et à gauche

Mauvais chemin... Il conduit souvent à s'enfermer dans le pré des erreurs ou mauvaises habitudes d'autres !

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci ucfoutu
Oui j'avais remarqué pour rester dans les erreurs et habitudes des autres, mais comme je pars de rien et que les bouquins que je consulte sur le sujet sont un peu ardus pour un néophyte, ca me donne des fois des idées
Encore merci pour le code
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/07/2015 à 12:13
Ce n'est pas "partir de rien", que de partir de la lecture de l'aide de son outil de développement. C'est au contraire partir de ce qu'il y a de plus solide et de plus pur (non entaché de lourdeurs, etc ...).
Pour ton information : cette aide a été, en ce qui me concerne, ma seule source d'initiation et de progression (aucun cours, aucun bouquin ...)
Résultat : non influencé par d'autres (puisque je n'extrapole que les bases de l'aide), il arrive assez fréquemment que mes solutions soient très personnelles, voire "décalées". Il n'est pas rare qu'elles s'avèrent également plus agiles, plus rapides en exécution ...
Bonne chance
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous