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.

Rechercher des sujets similaires à "remplir repertoire tout juste cree"