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.
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.
Salut,voir et adapter http://www.developpez.net/forums/d20...feuille-excel/
j'ai une erreur de compilation sur"type défini par l'utilisateur non défini"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Static FSO As FileSystemObject
Re,cocher sous VBE Outils/Références Microsoft Scripting Runtime
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?
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
Partager