Copier les données d'un tableau vers un fichier texte
Thakys
-
Modifié par ucfoutu le 29/07/2015 à 16:23
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 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 !
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.
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.
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
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
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
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.
30 juil. 2015 à 10:33
Desolé, j'avoue avoir posté à l'arrache sans prendre le temps de lire le format de posts sur le forum