[VBA] Création dossier MkDir

Résolu
Palteza Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
Palteza Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour les commentçamarcheurs,

Je crée un dossier, avec la méthode MkDir, s'il n'existe pas. Le problème, mineur, est ... qu'il ne se crée pas ^^

Voici la portion de code :

CheminSource = Left(Workbooks("ExtractionTest.xls").FullName, InStr(Workbooks("ExtractionTest.xls").FullName, "ExtractionTest.xls") - 1)  

Annee = 2006  

If Dir(CheminSource & Annee & "\Données_Découpages", 16) = "" Then MkDir (CheminSource & Annee & "\Données_Découpages")

Je récupère avec CheminSource qqchose comme : C\Documents....\..\..\ et tout devrait s'enchainer, mais non.

Le truc c'est que quand je supprime Annee, ça marche très bien.
J'ai bien essayé avec Annee en Integer et String, mais c'est pas ça.

Il me renvoit une erreur d'exécution 76, chemin d'accès introuvable sur :
MkDir (CheminSource & Annee & "\Données_Découpages")


Merci d'avance

6 réponses

Bidouilleu_R Messages postés 1181 Date d'inscription   Statut Membre Dernière intervention   295
 
ton code est correct à ceci prêt
tu ne dis pas si le dossier 'Annee' est déjà créé...

tu n'as pas le droit de créé un sous dossier pour un dossier inexistant.
il faut proceder en 2 temps dossier puis sous dossier
Sub test()
CheminSource = Left(Workbooks("ExtractionTest.xls").FullName, InStr(Workbooks("ExtractionTest.xls").FullName, "ExtractionTest.xls") - 1)

Annee = 2006

If Dir(CheminSource & Annee, 16) = "" Then
    MkDir (CheminSource & Annee)
End If

If Dir(CheminSource & Annee & "\Données_Découpages", 16) = "" Then
    MkDir (CheminSource & Annee & "\" & "Données_Découpages")
End If

End Sub
5