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 :

lister contenu d'un repertoire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut lister contenu d'un repertoire
    Bonjour à tous,
    j'ai deux problème:
    1-je cherche à lister dans une feuille excel les noms des fichiers d'un répertoire.
    2-je veux lister le contenu d'un .zip sans forcement le dezipper.

    avez vous une idée?

    merci d'avance.

  2. #2
    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

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut
    j'ai une erreur de compilation sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Static FSO As FileSystemObject
    "type défini par l'utilisateur non défini"

  4. #4
    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
    Par défaut
    Re,cocher sous VBE Outils/Références Microsoft Scripting Runtime

  5. #5
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 39
    Par défaut
    merci beaucoup ça marche et je pense que je n'aurai pas de problème à l'adapter à mes besoin.
    sinon est ce que vous avez une idée de comment faire la même chose avec in .zip sans le deziper?

  6. #6
    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
    Par défaut
    Re,je pense à priori qu'il faut dézipper
    ceci dit pour zipper un dossier/fichier voir http://excel.developpez.com/sources/...#ZipperDossier

    pour Dézipper, à améliorer et adapter
    on pourra faire un kill du dossier dézippé après traitement
    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
     
    Option Explicit
     
    Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
                                                 (ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
     
    Dim Rep As Long
     
    Sub UnZip()
    Dim FSO As Object
    Dim oApp As Object
    Dim DossierZip As Variant
    Dim DossierDezip As Variant
     
        DossierZip = ThisWorkbook.Path & "\" & "Essai.zip"
        DossierDezip = ThisWorkbook.Path & "\" & "Data"
     
        Set FSO = CreateObject("Scripting.FileSystemObject")
        If FSO.FolderExists(DossierDezip) Then
            FSO.DeleteFile DossierDezip & "\*.*", True
            FSO.DeleteFolder DossierDezip & "\*.*", True
        End If
        Set FSO = Nothing
        DoEvents
     
        If CreationDossier(DossierDezip) = 0 Or CreationDossier(DossierDezip) = 183 Then
            Set oApp = CreateObject("Shell.Application")
            oApp.Namespace(DossierDezip).CopyHere oApp.Namespace(DossierZip).items
            Set oApp = Nothing
        End If
    End Sub
     
    Private Function CreationDossier(sDossier) As Long
    ' Pour valeur retournée par CreationDossier
    '   Voir http://msdn.microsoft.com/en-us/library/bb762131(VS.85).aspx
    '   et   http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
        CreationDossier = SHCreateDirectoryEx(0&, sDossier, 0&)
    End Function

Discussions similaires

  1. Lister le contenu d'un repertoire
    Par dert72 dans le forum Langage
    Réponses: 6
    Dernier message: 15/11/2006, 18h24
  2. Lister le contenu d'un repertoire
    Par red210 dans le forum C++
    Réponses: 18
    Dernier message: 13/07/2006, 15h05
  3. Lister le contenu d'un repertoire dans un ListBox
    Par MonsieurK dans le forum Access
    Réponses: 5
    Dernier message: 13/07/2006, 11h18
  4. Comment lister le contenu d'un repertoire
    Par jeff&&php dans le forum Langage
    Réponses: 17
    Dernier message: 31/05/2006, 11h29
  5. [debutant] lister le contenu d'un repertoire
    Par azrael88370 dans le forum Débuter
    Réponses: 5
    Dernier message: 12/01/2006, 14h00

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