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 lecture répertoires


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut Macro lecture répertoires
    Bonjour

    j'ai essayé de compiler une macro (en rabibochant des bouts de codes trouvés par-ci par-là) pour aller récupérer le contenu de fichiers sur un répertoire
    Ca n'était peut-être pas très optimisé mais jusque là elle fonctionnait

    Là où je coince c'est pour l'adapter pour ne plus seulement lire les fichiers de mon répertoire mais aussi ceux dans des répertoires qui sont dans mon répertoire source

    si quelqu'un pouvait passer sur mes macros pour m'aider ce serait vrmt super sympa
    J'enverrai le code par mp pour pas rendre le post illisible à la limite

    Merci bcp

    Mary

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par maryblu Voir le message
    Là où je coince c'est pour l'adapter pour ne plus seulement lire les fichiers de mon répertoire mais aussi ceux dans des répertoires qui sont dans mon répertoire source
    Regarder ceci dans la FAQ :
    https://excel.developpez.com/faq/?pa...riptingRuntime
    https://excel.developpez.com/sources...scenceDossiers

    J'enverrai le code par mp pour pas rendre le post illisible à la limite
    Si le code est à l'intérieur de balises CODE (bouton # de l'éditeur), il ne rend pas le post illisible.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    J'enverrai le code par mp pour pas rendre le post illisible à la limite
    mauvaise idée, comme le préconise Menhir () utilise la balise {#}.

  4. #4
    Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut codes
    oki j'espère que ce sera pas trop long à visualiser pour pas piquer les yeux


    voici le code qui marche


    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
     
     
    Sub Liste()
        Dim Fichier As String, chemin As String
        Dim i As Long
        Dim rg As Range
     
        'Répertoire contenant les fichiers
        chemin = InputBox("Entrez le chemin du dossier contenant les fichiers")
     
        Fichier = Dir(chemin & "\*.tsv", vbNormal)
     
        'Boucle sur les fichiers
        Do While Fichier <> ""
     
            i = Range("B65536").End(xlUp).Row + 1
     
            ImportText chemin & "\" & Fichier, Cells(i, 2)
     
            Set rg = Sheets("DATA").Cells(i, 2)
            Do Until IsEmpty(rg)
                rg.Offset(0, -1) = Fichier
                Set rg = rg.Offset(1, 0)
            Loop
     
            Cells(i, 1) = "Titre"
     
            Fichier = Dir
     
        Loop
     
       'Mise en forme
     
       Range("a1:a65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
     
       Supptitre
     
       Split
     
    End Sub
     
    Sub ImportText(NomFichier As Variant, Cible As Range)
     
        Dim QT As QueryTable
     
        Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
            NomFichier, Destination:=Cible)
     
     
        With QT
            'Définit les séparateur de colonnes dans le fichier txt
            .TextFileOtherDelimiter = Chr(9)
            .TextFileSemicolonDelimiter = True
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .Refresh
     
        End With
     
    End Sub

    et voila le code quand j'essaye de l'adapter mais qui ne foncitionne pas


    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
     
    Sub TestListeFichiers()
        Dim Dossier As String
     
        'Définit le répertoire pour débuter la recherche de fichiers.
     
        Dossier = "C:\Users\EEL053\Desktop\labo"
     
        'Appelle la procédure de recherche des fichiers
        ListeFichiers Dossier
     
        MsgBox "Terminé"
     
    End Sub
     
     
     Sub ListeFichiers(Repertoire As String)
        '
        'Nécessite d'activer la référence "Microsoft Scripting RunTime"
            'Dans l'éditeur de macros (Alt+F11):
            'Menu Outils
            'Références
            'Cochez la ligne "Microsoft Scripting RunTime".
            'Cliquez sur le bouton OK pour valider.
     
        Dim Fso As Scripting.FileSystemObject
        Dim SourceFolder As Scripting.Folder
        Dim SubFolder As Scripting.Folder
        Dim FileItem As Scripting.File
        Dim i As Long
        Dim rg As Range
     
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set SourceFolder = Fso.GetFolder(Repertoire)
     
     
        'Boucle sur tous les fichiers du répertoire
        For Each FileItem In SourceFolder.Files
     
            'Boucle sur les fichiers
                Do While FileItem <> ""
     
            i = Range("B65536").End(xlUp).Row + 1
     
            ImportText Repertoire & "\" & FileItem, Cells(i, 2)
     
            Set rg = Sheets("DATA").Cells(i, 2)
            Do Until IsEmpty(rg)
                rg.Offset(0, -1) = FileItem
                Set rg = rg.Offset(1, 0)
            Loop
     
            Cells(i, 1) = "Titre"
     
     
            Loop
     
            Next FileItem
     
     
     
     '--- Appel récursif pour lister les fichier dans les sous-répertoires ---.
     
            For Each SubFolder In SourceFolder.SubFolders
                ListeFichiers SubFolder.Path
            Next SubFolder
     
       '--- Mise en forme ---
     
       Range("a1:a65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
     
       Supptitre
     
       Split
     
     
    End Sub
     
     
    Sub ImportText(NomFichier As Variant, Cible As Range)
     
        Dim QT As QueryTable
     
        Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
            NomFichier, Destination:=Cible)
     
     
        With QT
            'Définit les séparateur de colonnes dans le fichier txt
            .TextFileOtherDelimiter = Chr(9)
            .TextFileSemicolonDelimiter = True
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .Refresh
     
        End With
     
    End Sub

    Merci de votre aide et de votre temps

    Mary

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  6. #6
    Candidat au Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Bonjour tout le monde
    désolée j'ai eu pas mal de boulot à coté de ce pti fichier que je dois faire
    merci pour les liens j'ai zieuté un peu mais je comprends pas gd chose
    j'espère que qqn verra ce qui coince dans mon bout de code :/
    Bonne journée à tous
    Mary

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Relancer une discussion sans apporter de nouvelles informations, ça ne sert pas à grand chose...

Discussions similaires

  1. [XL-2003] PB avec Macro lecture de la propriete "mots-clés"
    Par r2d2c6po dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2010, 17h41
  2. [XL-2003] Macro Lecture boucle des occurences + remplissage des données
    Par pourinfo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/03/2010, 08h45
  3. [Toutes versions] Macro : Taille répertoire à partir de son chemin
    Par ccensam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/07/2009, 10h46
  4. Macro lecture fichier externe
    Par JackTheHero dans le forum Programmation (La)TeX avancée
    Réponses: 1
    Dernier message: 09/03/2009, 19h01
  5. [Tableaux] Lecture répertoire + remplir tableau
    Par Guiona dans le forum Langage
    Réponses: 1
    Dernier message: 19/01/2007, 09h15

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