Convertir .txt en xls avec nombre de lignes > 65536
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Convertir .txt en xls avec nombre de lignes > 65536



  1. #1
    inviteccee45bb

    Convertir .txt en xls avec nombre de lignes > 65536


    ------

    Bonjour à Vous,

    J'ai besoin d'aide sur la conversion de fichiers .txt en xls:

    Les fichiers .txt sont de la forme:

    0.057000 0.461692
    0.058000 0.474428
    0.059000 0.486840
    0.060000 0.498916
    0.061000 0.510646
    0.062000 0.522022

    Je voudrais en fait remplir 2 colonnes par 2 colonnes. Ceci pour éviter l'erreur obtenue à la 65536 ème ligne. Donc en fait, je rempli les colonnes A-B puis C-D, puis E-F...

    J'ai déjà essayé quelques codes VBA du net que je n'arrive pas à adapter...

    Merci à vous pour vos réponses

    Julien

    -----

  2. #2
    invitee840409b

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Bonjour,

    Il me semble que Excel permet d'importer ça directement, en indiquant que le caractère d'espacement est le séparateur, non ?

    Cordialement,
    ProgVal

  3. #3
    invite2313209787891133
    Invité

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Bonjour

    Tu peux simplement séparer ton fichier en 2 et l'ouvrir 2 fois, sinon je dois pouvoir t'écrire quelques lignes de code pour le faire.

  4. #4
    invite2313209787891133
    Invité

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Voici un peu de code que j'ai légèrement modifié à partir d'une petite application que j'avais faite pour une utilisation similaire à la tienne.

    N'hésites pas à demander si tu as des questions.

    Code:
    Private Sub CommandButton1_Click()
    
    'les variables sont définies
    Dim valeur() As String
    Dim textline As String
    Dim TexteCombo As String
    
    'determine le chemin du fichier txt à ouvrir
    
    'défini le lecteur par défaut
    ChDrive "C:"
    
    ' défini le chemin par défaut
    ' ChDir "C:\Analyses\rapports"
    
    'affiche une boite de dialogue pour rechercher le fichier export
    'les fichiers cherchés sont de type .txt
    
    chemin = Application.GetOpenFilename("Fichiers texte(*.txt), *.txt")
    
    ' quand un fichier est ouvert une boite de dialogue s'affiche pour rappeler le nom du fichier ouvert
    If chemin <> FAUX Then MsgBox "Ouverture de " & chemin Else End
    
    ' ouvre le fichier et stoque les infos dans textline
    ligne = 1
    
    'le fichier est ouvert
    Open chemin For Input Access Read As 1
    Do While Not EOF(1) ' Loop until end of file.
    Line Input #1, textline
    
    'chaque ligne est séparée en champs à l'aide du caractere d'espacement
    valeur() = Split(textline, " ")
    For i = 0 To UBound(valeur)
    
    'la feuille Excel est remplie
    'decalage passe à 2 à partir de la ligne 60000
    decalage = 2 * (Int(ligne / 60000))
    
    'ligne2 passe à 1 à partir de 60000
    ligne2 = ligne - (59999 * Int(ligne / 60000))
    
    'les cellules sont remplies
    Cells(ligne2, 1 + i + decalage) = valeur(i)
    
    Next i
    
    ligne = ligne + 1
    
    Loop
    Close #1
    
    
    End Sub

  5. A voir en vidéo sur Futura
  6. #5
    inviteccee45bb

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Merci Dudulle pour ton programme. Il s'avère quasiment bon à deux exceptions :
    1/ Comme l'a constaté ProgVal, il faudrait dire à Excel que le caractére qui sépare en deux cases la ligne de caractére est "l'espace".

    Excel donne ça:
    180.006000"carré"0.639610
    180.007000"carré"0.640853
    180.008000"carré"0.642143

    2/La boucle réalise un décalage d'une ligne entre chaque colonne mais c'est pas bien méchant!

  7. #6
    inviteccee45bb

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Etape 1 résolue par la fonction Convertir!

  8. #7
    invite2313209787891133
    Invité

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Citation Envoyé par geanman Voir le message
    Merci Dudulle pour ton programme. Il s'avère quasiment bon à deux exceptions :
    1/ Comme l'a constaté ProgVal, il faudrait dire à Excel que le caractére qui sépare en deux cases la ligne de caractére est "l'espace".

    Excel donne ça:
    180.006000"carré"0.639610
    180.007000"carré"0.640853
    180.008000"carré"0.642143

    2/La boucle réalise un décalage d'une ligne entre chaque colonne mais c'est pas bien méchant!
    C'est le rôle de la fonction Split(textline, " "); la chaine est séparée à l'aide de l'espacement. Si ça ne marche pas c'est que ce n'est pas un espace qu'il y a dans ton fichier.

  9. #8
    inviteccee45bb

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    En effet, j'ai vu cela en examinant le fichier...en changeant le split, ça n'a pas l'air de fonctionner...

    Par contre, le PC met vraiment du temps ... 1 000 000 de lignes et 15 minutes de traitement; il n'a toujours pas fini

  10. #9
    inviteccee45bb

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Une question rapide... L'utilisation des fonctions Int est-elle réfléchie?
    Je veux dire par là, la rapidité de la macro est-elle accrue par rapport à l'utilisation de fonctions If classiques?

    Cordialement, Julien

  11. #10
    danyvio

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Avec Excel 2007, tu aurais droit à 1.048.576 lignes
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  12. #11
    invite2313209787891133
    Invité

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Citation Envoyé par geanman Voir le message
    Une question rapide... L'utilisation des fonctions Int est-elle réfléchie?
    Je veux dire par là, la rapidité de la macro est-elle accrue par rapport à l'utilisation de fonctions If classiques?

    Cordialement, Julien
    Non, c'est la 1ere solution qui m'est venue à l'esprit, mais on pourrait tout aussi bien réinitialiser la variable ligne au bout d'un certain nombre de boucles.

    Ce code peut certainement être optimisé en terme de vitesse d'exécution, mais je n'ai pas cherché à le faire.

  13. #12
    polo974

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    Citation Envoyé par Dudulle Voir le message
    Bonjour

    Tu peux simplement séparer ton fichier en 2 et l'ouvrir 2 fois, sinon je dois pouvoir t'écrire quelques lignes de code pour le faire.
    Il existe une commande sous unix dispo avec cygwin sous windows qui permet de découper un fichier:
    split

    pour couper toute les 10000 lignes par exemple:
    split -l10000 -d fichieràcouper.txt

    et ça donne des x00, x01, .... de 10000 lignes sauf le dernier qui comporte le reste.

    il y a aussi la commande wc (word count) qui permet de compter les lignes:
    wc -l x01
    donnera 10000

    Une fois les fichiers coupés, c'est très simple et rapide de les intégrer dans le tableur.

    pour 1 million de lignes, il suffit d'intégrer 20 fois 50000 lignes (ou 16 fois 60000 environ)

    Au fait, combien de lignes en tout ???
    Jusqu'ici tout va bien...

  14. #13
    inviteccee45bb

    Re : Convertir .txt en xls avec nombre de lignes > 65536

    J'ai 1,2 Millions de lignes. Je travaille sous Excel 2003 uniquement. Après, la méthode de Dudulle me correspond parfaitement; c'est cela que j'attendais!

Discussions similaires

  1. Matlab Lecture de n fichier .txt et ecriture dans un fichier .xls
    Par invite24513ab6 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 26/07/2010, 10h12
  2. suite procédure anti-malware / analyse log.txt et info.txt
    Par invite750c2c4c dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 6
    Dernier message: 21/06/2009, 23h31
  3. Matlab boucle pour modifier le nom de plusieur fichier data1.txt data2.txt et test1 test2
    Par invite51a13d50 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 20/04/2009, 18h58
  4. Convertir nombre en texte avec Excel
    Par invite2150efa6 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/01/2008, 19h58
  5. transposer un fichier .txt en .xls
    Par abracadabra75 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 09/02/2007, 11h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...