Coller des lignes d'un txt qui dépasse la capacité d'Excel
- Messages
- 151
- Excel
- 20/07-13
- Inscrit
- 20/03/2012
- Emploi
- Dessinateur industriel Autocad, 3d Max, Inventor, excel ( forcément ),
Bonjour,
Il y a il une solution pour coller dans une feuille les lignes d'un .txt alors que le nombre de celles-ci dépasse la capacité de ligne d'excel?
Je pense que c'est possible, pas par un collage mais par un import du fichier .txt dans excel, et que le collage change de colonne lorsqu'il arrive en limite de capacité de ligne !?
Désolé encore une fois je fait une demande d'un macro toute faite...
J'espère bien un jour servir plutôt que d'être servi...
Cdt
Harissa23
Edit : Désolé, je viens de voir que j'avais créé un poste hier sur le même sujet, ce post est plus claire, j'ai renomme l'autre A SUPPRIMER....désolé ^^
pff alzheimer
- Messages
- 151
- Excel
- 20/07-13
- Inscrit
- 20/03/2012
- Emploi
- Dessinateur industriel Autocad, 3d Max, Inventor, excel ( forcément ),
J'ai trouvé une solution sur le net que j'ai légèrement adapté (je vais chercher le fichier plutôt que de le nommer directement dans la macro)
Sub import()
Dim i As Long, j As Long, ar
Dim stFile As String, sNomFichier As String
Dim iFile As Integer
Dim data
Dim ws As Worksheet
ChDir "c:\Temp"
stFile = Application.GetOpenFilename 'boite de dialogue pour sélectionner fichier dans c:\Temp
sNomFichier = stFile '// nom du fichier
Application.ScreenUpdating = False
Set ws = Sheets("Feuil1") '// feuille où écrire les résultats
ws.UsedRange.Clear '// vider le contenu de la feuille
'Ouvrir le 1er fichier
iFile = FreeFile
Open stFile For Input As #iFile
'Lecture du 1er fichier et écriture dans Excel
i = 1
Do Until EOF(iFile)
Line Input #iFile, data
ws.Cells(i, 1) = data
Sheets("Feuil1").Select ' suppression des lignes au fur et a mesure
If Not Range("A" & i) Like "*REFERENCE DE BLOC Calque:*" And Not Range("A" & i) Like "*Nom du bloc:*" _
And Not Range("A" & i) Like "*en point,*" And Not Range("A" & i) Like "*Visibilité:*" _
And Not Range("A" & i) Like "*Distance:*" And Not Range("A" & i) Like "*Distance1:*" _
And Not Range("A" & i) Like "*AEC_DOOR*" And Not Range("A" & i) Like "*AEC_WINDOW*" _
And Not Range("A" & i) Like "*Largeur :*" And Not Range("A" & i) Like "*Hauteur :*" _
And Not Range("A" & i) Like "*Style de porte*" And Not Range("A" & i) Like "*Style de fenêtre*" Then
Rows(i).Delete
i = i - 1
End If
i = i + 1
Loop
Application.ScreenUpdating = True
End Sub
Donc import d'une ligne du fichier txt dans excel et suppression dans excel si elle n'est pas utile.
Je ne sais pas si cela changerai quelque chose à la vitesse d'exécution si la ligne n'est pas importé si elle n'est pas utile...
En tout cas, j'ai trouvé une solution et c'est plus sérieux que le copier/coller et je contourne la limite de ligne d'excel !
Avec un fichier txt avec un peu plus de 130000 lignes ça reste long à exploiter
Cdt
Harissa23