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.