[VBA] Création dossier MkDir

Résolu/Fermé
Palteza Messages postés 79 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 6 septembre 2014 - Modifié par Palteza le 13/07/2010 à 11:13
Palteza Messages postés 79 Date d'inscription mercredi 2 décembre 2009 Statut Membre Dernière intervention 6 septembre 2014 - 15 juil. 2010 à 13:23
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 mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
15 juil. 2010 à 10:12
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