Formatage de text dans un fichier text depuis un array

Bonjour tt le monde,

soit un tableau à une dimension de n éléments

comment récupérer tous ces éléments dans une boucle afin de pouvoir écrire,la ligne ci-dessous plusieurs fois dans un fichier.

car en utilisant cette méthode mes indices sont écrasés.

si quelqu'un pouvait m'éclairer je lui serai reconnaissante

For i = 1 To UBound(tab)
FileContent = FileContent & "<clefP Index='" & tab[i] & "' authorisation='" & tab[i+1] & "' Num='" & tab[i+2] & "' Type='" & tab[i+3] & "'/>" & vbCr
Next i

merci d'avance

Bonsoir,

Ce qui faut faire pour ne pas écraser les données c'est de faire une boucle qui avance de 4

For i = 1 To UBound(xtab) Step 4

Je n'ai pas testé, mais ton code me parait bizarre, pour écrire dans un fichier texte, je procède de cette façon :

Open "D:\Temp\Test.txt" For Append As #1
   For i = 1 To UBound(xtab)
      Print #1, "<clefP Index='" & xtab(i) & "' authorisation='" & xtab(i + 1) & "' Num='" & xtab(i + 2) & "' Type='" & xtab(i + 3) & "'/>"
   Next i
Close #1

J'ai remplacé tab par xtab car Tab est une fonction d'Excel. J'ai aussi remplacé les [ ] par des ( ) pour que cela fonctionne.

Si ton code fonctionne, je me demande dans quel environnement il est exécuté.

Espérant avoir répondu à ta question.

Salut Benead,

Merci pour la modification et les infos.

en testant j'ai maintenant le message d'erreur l'indice n’appartient pas à la plage uniquement sur la dernière valeur

Type='" & xtab(i + 3) & "'/>"

sur les valeurs précédentes j'ai bien les infos au bon endroit pourtant g bien mis option base 1

au fait quand tu mets

mavariable.write(FileContent)

cela écrit le contenue de la variable dans le fichier qu'on a ouvert avant.

par contre pour le step de 4 je vois pas le fonctionnement on est d'accord c'est une boucle imbriqué que tu fais ?

pour le message d'erreur l'indice... je viens de voir pourquoi c'est parce que quand j'arrive au max du tbl je rajoute 3 ce qui génère l'erreur puisse qu'on ne peut pas aller au delà du max

du coup quand je mets -3 sur le Ubound(xtbl) toute mes valeurs sont décalé dans mon formatage.

Bonsoir Xlsh,

Merci pour l'info pour mavariable.write(), mais tu ouvres le fichier avec FileSystemObject alors ?

Pour la boucle, soit tu divise par 4 le nb d'éléments de ton tableau et tu prends uniquement l'entier inférieur, soit tu teste dans la boucle si (i+3) est supérieur aux nb d'éléments de ton tableau et dans ce cas tu sors de la boucle avec Exit Do.

Rechercher des sujets similaires à "formatage text fichier array"