XL 2010 Importer .txt sur feuille Excel

  • Initiateur de la discussion Initiateur de la discussion thunder23
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

thunder23

XLDnaute Occasionnel
Bonjour le forum,

Je souhaite importer les données d'un fichier en format texte sur une feuille Excel mais par VBA et avec la même mise en forme que dans le fichier .txt .
Un exemple est disponible en pièce jointe

Merci pour commentaires 🙂
 

Pièces jointes

ben la reponse est dans la question
t'en a beaucoup comme ca 🙂😛😛😛😛
edit
VB:
Sub test()
    Dim tout As String, x, fichier As String, tbl, colonnes
    fichier = "C:\Users\polux\DeskTop\bdd.txt"
    fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt", 1, "ouvrir un fichier")
    If fichier = "" Then Exit Sub
    x = InputBox("tapez les numero de colonnes séparée par une virgule", "liste des colonnes")
    If x <> "" Then colonnes = Split(x, ",")
    x = FreeFile: Open fichier For Binary Access Read As #x: tout = String(LOF(x), " "): Get #x, , tout: Close #x
    With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText tout: .PutInClipboard: End With
    With Sheets(1).Cells(1, 1)
        .Parent.Activate
        .CurrentRegion.Clear
        .EntireColumn.NumberFormat = "mm/dd/yyyy"
        .Select
        ActiveSheet.Paste
        DoEvents
        tbl = Application.Index(.CurrentRegion.Value, Evaluate("ROW(" & 1 & ":" & .CurrentRegion.Rows.Count & ")"), colonnes)
        .CurrentRegion.ClearContents
        .EntireColumn.NumberFormat = "m/d/yyyy"
        .Resize(UBound(tbl), UBound(tbl, 2)) = tbl
        .Select
    End With

End Sub
😉
 
Dernière édition:
ben oui je l'ai concu comme ca
si tu veux ajouter a la suite c'est
VB:
Sub test()
    Dim tout As String, x$, fichier As String, tbl, colonnes
    Application.ScreenUpdating = False
        fichier = "C:\Users\polux\DeskTop\bdd.txt"
    fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt", 1, "ouvrir un fichier")
    If fichier = "" Then Exit Sub
    x = InputBox("tapez les numero de colonnes séparée par une virgule", "liste des colonnes")
    If x <> "" Then colonnes = Split(x, ",")
    x = FreeFile: Open fichier For Binary Access Read As #x: tout = String(LOF(x), " "): Get #x, , tout: Close #x
    With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText tout: .PutInClipboard: End With
    With Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1)
        .Parent.Activate
        '.CurrentRegion.Clear
        .EntireColumn.NumberFormat = "mm/dd/yyyy"
        .Select
        ActiveSheet.Paste
        DoEvents
        tbl = Application.Index(.CurrentRegion.Value, Evaluate("ROW(" & 1 & ":" & .CurrentRegion.Rows.Count & ")"), colonnes)
        .CurrentRegion.ClearContents
        .EntireColumn.NumberFormat = "m/d/yyyy"
        .Resize(UBound(tbl), UBound(tbl, 2)) = tbl
        .Select
    End With

End Sub
mais c'est risqué vu le nombre de ligne tu risque de pas avoir assez de place au bout de la Nème fois
 
c'est bon on est ok je peux virer la maquette ?

Alors pour le transfert plus de soucis, par contre deux petits soucis, les premières dates sont nickel mais après quelques ligne ça me mets au format jj/mm/aa et non jj/mm/aaaa. Pour se qui est de rajouter les lignes ensuite je crois que ça me supprime les premières lignes mais sinon la vitesse d'exécution 😵
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
159
Réponses
5
Affichages
325
Retour