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 :

Macro unique pour plusieurs fichiers texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Par défaut Macro unique pour plusieurs fichiers texte
    Salut le forum,

    Est il possible de modifier cette Macro de façon qu'elle prenne en charge tout les fichiers .txt du dossiers D:\test\ au lieu d'un seul fichier essai.txt.
    Aussi, Est il possible que les données des fichiers texte serons collé dans des feuilles qui ce trouvent dans le fichier xls lui même qui porte la macro, au lieu de créer un nouveau fichier excel?

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Rectangle1_Clic()
    Workbooks.OpenText Filename:="D:\test\essai.txt", Origin:=xlMSDOS, _
         StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
         ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, _
         Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3 _
         , 1), Array(4, 1), Array(5, 1), Array(6, 1)), TrailingMinusNumbers:=True
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Par défaut
    Pour prendre tous les fichiers, tu fais une boucle en utilisant soit Dir(), soit un FileSystemObject (fso.getfolder("D:\test").files).

    http://excel.developpez.com/faq/inde...BoucleFichiers
    et http://excel.developpez.com/faq/inde...NombreFichiers

    Pour désigner le fichier contenant la macro, tu peux utiliser le mot-clé ThisWorkbook.

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Par défaut
    Bonjour,

    Merci pour l'info Antoun.

    Mon but maintenant c'est de modifier la macro de façon que tout les fichiers textes "toutes les feuilles" importer serons converti aussi ? possible?


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Private NomDuFichierOrigine
    Private Répertoire
    Sub RechercheDesFichiers()
        Dim MyFile, MyPath, MyName
        Dim NbFeuille As Byte
        Dim compteurDeFeuille As Byte
        Application.ScreenUpdating = False
        NomDuFichierOrigine = ActiveWorkbook.Name
        NbFeuille = ThisWorkbook.Sheets.Count
        compteurDeFeuille = 1
        Do Until compteurDeFeuille > NbFeuille
            If Sheets(compteurDeFeuille).Name <> "FeuilleDeTravail" Then
                Application.DisplayAlerts = False
                Sheets(compteurDeFeuille).Delete
                Application.DisplayAlerts = True
                NbFeuille = NbFeuille - 1
                compteurDeFeuille = compteurDeFeuille - 1
            End If
           compteurDeFeuille = compteurDeFeuille + 1
         Loop
     
        Sheets("FeuilleDeTravail").Select
        Calculate
        Répertoire = Range("A2")
        Range("A11:A100").Value = ""
        Range("A11").Select
        MyFile = Dir(Répertoire & "*.*")
        ActiveCell.Value = MyFile
        ActiveCell.Offset(1, 0).Activate
        Do Until MyFile = ""
            MyFile = Dir
            If MyFile <> NomDuFichierOrigine Then
                ActiveCell.Value = MyFile
                ActiveCell.Offset(1, 0).Activate
            End If
        Loop
        TransfertDeDonnées
        Workbooks(NomDuFichierOrigine).Activate
        Application.GoTo Reference:=Worksheets("FeuilleDeTravail").Range("A1"), Scroll:=True
    End Sub
     
    Sub TransfertDeDonnées()
     With Sheets("FeuilleDeTravail")
         Dim Cell As Range
             For Each Cell In Workbooks(NomDuFichierOrigine).Sheets("FeuilleDeTravail") _
              .Range("A11:A" & Workbooks(NomDuFichierOrigine).Sheets("FeuilleDeTravail").Range("A65536").End(xlUp).Row)
             NomDuFichier = Cell
             Sheets.Add
             ActiveSheet.Name = NomDuFichier
             Workbooks.Open Filename:=Répertoire & Cell
             Application.DisplayAlerts = False
             Sheets(ActiveSheet.Name).Range("A1:J222").Copy
             Workbooks(NomDuFichierOrigine).Sheets(NomDuFichier).Range("A1").PasteSpecial Paste:=xlPasteValues
             Workbooks(NomDuFichierOrigine).Activate
             Application.GoTo Reference:=Worksheets(NomDuFichier).Range("A1"), Scroll:=True
             Workbooks(NomDuFichier).Close savechanges:=False
             Application.DisplayAlerts = True
            Next
    End With
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Par défaut
    Citation Envoyé par kikim78 Voir le message
    Bonjour,

    Merci pour l'info Antoun.

    Mon but maintenant c'est de modifier la macro de façon que tout les fichiers textes "toutes les feuilles" importer serons converti aussi ? possible?
    Pas compris.

    De quoi tu pars, et vers quoi veux-tu le convertir ?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Par défaut
    Merci Antoun pour l'aide

    La macro en question me permet d'importer les fichiers texte d'un dossier, mais sans les convertir. "mon but c'est de les convertir aussi"

    J'ai essay avec l'enregistreur macro pour enregistrer les manip : selectionner colonne A => Données => convertir => Délimité => coché Espace => coché standard => terminé
    Mais ya toujours message d'erreur.

    Cette manip doit etre faite pour tout les fichiers du classeur exept "FeuilleDeTravail"

    Possible?

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Par défaut
    Je ne suis pas sûr de comprendre où tu bloques ? La boucle des onglets ? La "conversion" des données ?

    Peux-tu poster un exemple de tes fichiers texte ?

  7. #7
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 46
    Par défaut
    Bonjour Forum,

    Merci Antoun pour la réponse,
    A vrai dire il y avait un probleme de conversion de fichiers txt apres importation.

    Probleme reglé par Jean-Marcel sur autre forum
    Merci encors une fois Antoun.

    http://www.cijoint.fr/cjlink.php?fil...cijZ0dhi0I.xls

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

Discussions similaires

  1. Créer macro pour importer fichier texte
    Par stpaul04 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/03/2011, 17h52
  2. [XL-2003] Créer une macro pour plusieurs fichiers excel
    Par bocki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/06/2009, 22h53
  3. Réponses: 7
    Dernier message: 18/11/2007, 11h38
  4. Macro unique pour plusieurs fichiers excel
    Par jackbauer972 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/07/2007, 13h41
  5. [VBA-E]une macro unique pour plusieurs fichiers excel
    Par fanchic29 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 16h20

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