Bonjour Le forum,
Des années que je ne suis pas venu ici .. j'arrivais à m'en sortir tout seul 🙂
Mais là je sèche :
J'ai un fichier texte (.txt) avec un nombre de ligne variable.
Je l'ouvre et "stock" chaque ligne dans un tableau.
Ensuite je transfert ce tableau dans ma feuille Excel.
Le problème se pose lorsque je dépasse les 65000 lignes.
J'ai lu qu'il existait une limitation en utilisant "transpose" mais je ne m'en sors pas pour contourner le probléme.
Voici mon code :
Je cherche donc une solution pour transférer un tableau 1 dimension de plus de 65000 lignes dans une feuille (cellule A20 à Axxxx)
Merci par avance pour votre aide
Guillaume
Des années que je ne suis pas venu ici .. j'arrivais à m'en sortir tout seul 🙂
Mais là je sèche :
J'ai un fichier texte (.txt) avec un nombre de ligne variable.
Je l'ouvre et "stock" chaque ligne dans un tableau.
Ensuite je transfert ce tableau dans ma feuille Excel.
Le problème se pose lorsque je dépasse les 65000 lignes.
J'ai lu qu'il existait une limitation en utilisant "transpose" mais je ne m'en sors pas pour contourner le probléme.
Voici mon code :
VB:
sub test
Dim IndexFichier As Integer
Dim MonFichier As String
Dim ContenuLigne As String
MonFichier = "C:\ASM SSM.txt" '<-- mettez ici le nom du fichier à lire
IndexFichier = FreeFile()
Open MonFichier For Input As #IndexFichier 'ouvre le fichier
a = 1
Dim Nbligne As Long
While Not EOF(IndexFichier)
Line Input #IndexFichier, ContenuLigne
Nbligne = Nbligne + 1
Wend
Close #IndexFichier ' ferme le fichier
Dim tabl_txt
Open MonFichier For Input As #IndexFichier 'ouvre le fichier
ReDim tabl_txt(1 To Nbligne)
While Not EOF(IndexFichier) '
Line Input #IndexFichier, ContenuLigne ' lecture du fichier ligne par ligne: la variable "ContenuLigne" contient le contenu de la ligne active
If (ContenuLigne = (Chr(13) & Chr(10)) Or (ContenuLigne = "")) Then GoTo suite
If ContenuLigne Like "Q? [A-Z][A-Z][A-Z]???? *" Then GoTo suite
If ContenuLigne Like ".[A-Z][A-Z][A-Z]???? ######*" Then GoTo suite
If ContenuLigne Like "[A-Z][A-Z][A-Z]???? [A-Z][A-Z][A-Z]???? [A-Z][A-Z][A-Z]???? *" Then GoTo suite
If ContenuLigne Like "*@*" Then GoTo suite
tabl_txt(a) = Left(ContenuLigne, 250)
a = a + 1
suite:
Wend
Close #IndexFichier ' ferme le fichier
'Ca coince ici:
Range("A20").Resize(UBound(tabl_txt)) = Application.Transpose(tabl_txt)
end sub
Je cherche donc une solution pour transférer un tableau 1 dimension de plus de 65000 lignes dans une feuille (cellule A20 à Axxxx)
Merci par avance pour votre aide
Guillaume