IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

fichier txt dans excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 15
    Points
    15
    Par défaut fichier txt dans excel
    Bonjour,

    Je me permet de vous demander de l'aide.

    Donc je vous résume la chose:

    En gros j'ai 3 fichiers *.txt (et yen aura indefiniment)placé sur internet:

    - fichier *.txt : entreprises (liste des entreprises avec leur lien *.txt)
    - fichier *.txt : données entreprise alfa
    - fichier *.txt : données entreprise beta
    - etc ..

    Je dois faire un fichier excel qui va chercher les données pour ces trois fichiers
    en mettant sur la premiere feuille la liste des entreprises donc le contenu du fichier texte entreprise. (Jusque là c'est bon.J'ai fait un bouton qui met a jour la Feuil1 d'excel).

    et sur les autres feuilles le contenu des autre fichier txt.....

    En gros à la fin ca fait feuille1 sommaire avec liste et liens des fichiers txt,
    feuille 2 contenu du fichier txt organisme 1,
    feuille 3 contenu du fichier txt organisme 2 etc...

    Pour être plus prècis dans mon explication , j'ai des fichiers texte sur internet qui comporte des données.
    Avec eux j'ai un fichier primaire (toujours texte) qui liste les diffirents fichiers texte de données.

    exemple:
    colonne A
    entreprise1
    entreprise2

    colonne B
    http:\\..............
    htpp:\\.........

    Sur la feuil1 dans excel je génère le fichier primaire qui liste les autres fichiers
    je voudrais au final que le contenu de chaque fichier listé apparraisse dans une feuille à lui.

    Donc je suis déjà arrivée péniblement à faire une boucle qui liste les entreprises et créer une feuille pour chacune mais je n'arrive pas à faire afficher avec la commande QueryTables le contenu des fichiers entreprises dans leur propre feuille.

    Ayant passer une bonne partie de ma journée d'hier ainsi que d'aujourd'hui, je suis un peu désespérée..quelqu'un a t-il une idée ??

    Faut-il faire une boucle en prenant les adresse dan sla deuxme colonne et faire des QueryTables dans les bonnes pages ??

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    J'y arrive presque


    donc pour l'instant j'ai fait cela mais la boucle a du mal à fonctionner.
    Si vous voyez de grosses erreurs n'hésitez pas , merci ...(même des petites )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Sub remplir(feuille As Worksheet, nom As String, con As String, dest As Range)
     
        With feuille.QueryTables.Add(con, dest)
            .Name = nom
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Sub feuilles()
            Dim NewSheet As Worksheet
            Dim SName As String
            Dim sURl As String
            Dim Boucle As Integer
     
     
        DerniereValeur = Worksheets("Feuil1").Range("A1:A50").Find("").Row
     
        For Boucle = 1 To DerniereValeur - 1
           SName = Worksheets("Feuil1").Range("A" & Boucle).Text
           sURl = Worksheets("Feuil1").Range("B" & Boucle).Text
           Set NewSheet = Worksheets(SName)
           If Worksheets(SName).Name = SName Then
     
           Else
               Call Worksheets.Add(After:=Worksheets(Worksheets.Count - 1))
               Set NewSheet = Worksheets.Item(Worksheets.Count - 1)
               NewSheet.Name = SName
           End If
           Call remplir(NewSheet, SName, sURl, NewSheet.Range("A1"))
        Next
        Set NewSheet = Nothing
     
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Bon j'ai trouvé,

    je mets la solution au cas ou quelqu'un chercherait à faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Sub remplir(feuille As Worksheet, nom As String, con As String, dest As Range)     
     
        With feuille.QueryTables.Add(con, dest)
            .Name = nom
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = True
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            'entire ou delete pour mise à jour
            .RefreshStyle = xlInsertEntireCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Sub feuilles()
            Dim NewSheet As Worksheet
            Dim SName As String
            Dim sURl As String
            Dim Boucle As Integer
            Dim DerniereValeur As Long
     
        DerniereValeur = Worksheets("Feuil1").Range("A1:A50").Find("").Row - 1
        MsgBox DerniereValeur
        For Boucle = 1 To DerniereValeur
           SName = Worksheets("Feuil1").Range("A" & Boucle).Text
           sURl = "url;" & Worksheets("Feuil1").Range("B" & Boucle).Text
     
               Set NewSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
     
               NewSheet.Name = SName
               Call remplir(NewSheet, SName, sURl, NewSheet.Range("A1"))
     
        Next
        Set NewSheet = Nothing
     
     
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir fichier .txt dans excel avec des champs texte
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/05/2008, 18h27
  2. Ouverture fichier txt dans excel date 10/01/2007 au lieu de 01/10/2007
    Par megapacman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/10/2007, 14h14
  3. importer un fichier txt dans excel
    Par rm34000 dans le forum Excel
    Réponses: 2
    Dernier message: 03/09/2007, 09h12
  4. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  5. [VBA-Excel] Ouvrir un lot de fichier txt dans Excel
    Par Trollakuir dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/06/2006, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo