Cration de dossier via MKDIR avec boite de dialogue

Bonjour à tous,

Voilà je suis super novice en VB mais je dois traiter une demande particulière. Je dois créer des répertoires réseau à partir d’une liste de donnes sous Excel. Jusque-là tous va bien, j’ai trouvé un bout de code que j’ai attribué à un bouton qui me permet de créer mes dossiers à partir de mes cellules Excel. Mais voilà, les fichiers créer n’auront pas la même destination à chaque utilisation de la macro, j’aurai donc besoin d’une boite de dialogue qui me permettrai de choisir l’emplacement ou je dois créer mes dossiers.

Voici le code affecter au bouton

Sub créer_dossiers()

On Error Resume Next

Dim lig As Byte, cptr As Byte

lig = Range("A65536").End(xlUp).Row

For cptr = 1 To lig

MkDir "C:\dossiers"

MkDir "C:\dossiers\" & Cells(cptr, 1)

Next

End Sub

D’avance merci à tous

Bonjour FCKM9113,

Une procédure que j'utiliser pour enregistrer le chemin d'un dossier :

Sub Dossier_Choix()
    With Application.FileDialog(msoFileDialogFolderPicker)
    'Ouvre la fenêtre du choix du dossier
    .Show
    'Si aucun dossier sélectionné nous quittons la procédure
    If .SelectedItems.Count = 0 Then
    BooChoixDossier = False: Exit Sub
    'Sinon nous définissons le nom du dossier
    Else: Répertoire = .SelectedItems(1)
    End If
    End With
    BooChoixDossier = True
End Sub

BooChoixDossier est un Boolean permettant de vérifier si un dossier a bien été choisi.

Tu pourrais utiliser la procédure ainsi :

Sub créer_dossiers()
On Error Resume Next
Dim lig As Byte, cptr As Byte
lig = Range("A65536").End(xlUp).Row
'Appeler le code de choix du dossier
Dossier_Choix
'Quitter le code si aucun dossier choisi
If Not BooChoixDossier Then Exit Sub
For cptr = 1 To lig
MkDir Répertoire & "\" & Cells(cptr, 1)
Next
End Sub

PS: Ne pas oublier de déclarer Répertoire As String et BooChoixDossier As Boolean, avant toutes les procédures de ton module.

Merci beaucoup pour votre réactivité Le 2eme code ne fonctionne pas, le 1er si mais comment faire pour l'intégrer à mon code existant ?

Merci

Quel message s'affiche ?

As-tu bien déclaré les variables comme je te l'ai signalé ?

Ben sans vouloir faire âne bâté, je ne sais pas faire, je débute vraiment en VB....

Tu devrais débuter ton apprentissage avec ce lien :

https://www.excel-pratique.com/fr/vba/variables.php

En somme, pour notre exemple, tu mets (tout en haut de ton module, avant les procédures):

Répertoire As String, BooChoixDossier As Boolean

Je n'arrive pas à le faire il m'indique une erreur de compilation: instruction incorrecte à l'extérieur d'un block de type

Jm'en sent boulet .....

Peux-tu joindre ton fichier ou ton code au complet ?

Bonjour,

Je suis de retour, voila le fichier en question.

L'idée est de pouvoir créer des dossiers et sous dossiers à partir d'une liste Excel, en choisissant la destination cible des dossiers parents. Dans l'état le fichier ne me créer que les dossiers parents et je dois écrire la destination dans le code.

Le fichier devrait être en pièce jointe.

D'avance merci de votre aide

Rechercher des sujets similaires à "cration dossier via mkdir boite dialogue"