Bonjour,

Je cherche a dezippzer des fichiers et je bloque dans le code

Chaque zip jopurnalier contient un seul fichier zippé (mais qui porte le meme nom : export_vente_du_jour.xlsx)

voici le code que j'ai fait :

Code VBA : 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
 
 
    Dim oShell As Object
    Dim pathFile As String
 
    'Récuperation de la liste des fichiers
    pathFile = Sheets("MENU").Range("K3")
    NomFichier = Dir(pathFile & "*.zip")
    pathFile2 = Sheets("MENU").Range("K2")
 
 
 
myFile = Dir(pathFile & "\*.zip")
 
Sheets("liste").Rows("2:200").Delete
C = 2
Do While myFile <> ""
    Sheets("Liste").Cells(C, 2) = myFile
    Sheets("Liste").Cells(C, 3) = Left(myFile, 15)
    Sheets("liste").Cells(C, 4) = Replace(myFile, "zip", "xlsx")
    Sheets("Liste").Cells(C, 5) = pathFile
    Sheets("Liste").Cells(C, 6) = pathFile2
    myFile = Dir()
    C = C + 1
Loop
 
    'On passe d'un fichier excel a l'autre
    Set oShell = CreateObject("Shell.Application")
    Nb = Sheets("liste").Cells(Rows.Count, 2).End(xlUp).Row
    For L = 2 To Nb
        doszip = Sheets("Liste").Cells(L, 5)
        NomFichier = Sheets("Liste").Cells(L, 2)
        dosfile = Sheets("Liste").Cells(L, 6)
        name_file = Sheets("liste").Cells(C, 4)
        oShell.Namespace((pathFile2)).CopyHere oShell.Namespace((doszip & NomFichier)) '  -->>> TRES IMPORTANT : doubler les parenthèses sinon erreur
    Next
 
    Set oShell = Nothing

J'aimerai pouvoir :
- dezipper tous les fichiers zip du répertoire

- renommer le fichier dezippé afin d'eviter qu il n'ecrase pas le précédent.