Remplir un répertoire tout juste créé
Bonjour le forum !
J'aurais besoin de votre aide pour le remplissage d'un répertoire venant d'être créé.
Je m'explique :
J'ai créé une macro qui me permet de dézippé un répertoire et ses sous-répertoires dans un nouveau répertoire. Jusqu'ici pas de problème, la macro fonctionne parfaitement.
En revanche, pour que cette macro fonctionne, il faut au préalable avoir créer un "répertoire cible" dans lequel seront copiés tout les répertoire dézippé.
J'aimerai modifier un peu ma macro de manière à ce qu'il n'y est pas besoin de créer ce répertoire cible avant de lancer la macro, mais que ce répertoire cible soit créé après la sélection du répertoire zippé, au même chemin, et avec le même nom + "_unzip".
J'ai tenté d'utiliser les différentes méthodes de création de répertoire (MkDir), mais je bloque pas mal...
Je joins mon code complet ci-dessous :
Sub Unzip()
Dim FSO As FileSystemObject
Dim ShApp As Shell32.Shell
Dim dossier_source As Variant, dossier_cible As Variant, fichier As Object
'Choose the source folder
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
dossier_source = .SelectedItems(1) & "\"
End With
'choose the target folder : need to be created !
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
dossier_cible = .SelectedItems(1) & "\"
End With
'Assign Application Shell and Objet management for folder
Set ShApp = New Shell32.Shell
Set FSO = New FileSystemObject
Set dossier_source = FSO.GetFolder(dossier_source) '<------------------------
'loop on each .zip files in source folder and unzip them
For Each fichier In dossier_source.Files
If FSO.GetExtensionName(fichier.path) = "zip" Then
ShApp.Namespace(dossier_cible).CopyHere ShApp.Namespace(fichier.path).Items
End If
Next
End Sub
La partie que je souhaite modifier serait donc la suivante :
'choose the target folder : need to be created !
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
dossier_cible = .SelectedItems(1) & "\"
End With
Je vous remercie d'avance pour votre aide !
Bonjour,
Laurent OTT dans son tuto "Compresser/décompresser des fichiers au format ZIP" a extrêmement bien décrit les modes opératoires pour travailler avec les fichiers zip en VBA. Ses procédures sont opérationnelles.