BKAF#15 Créer un dossier et des sous dossiers avec VBA
ฝัง
- เผยแพร่เมื่อ 7 ก.พ. 2025
- Dans cette vidéo, j'explique comment créer un dossier et des sous dossiers avec VBA sous Excel !
Avant de créer le dossier principal, je montre comment vérifier l'existence du dossier avant de le créer !
Le code utilise "MkDir" pour créer le dossier et "Dir(chemin, vbDirectory)" pour vérifier l'existence du dossier.
Ci-dessous le code :
Dim chemin_du_dossier As String
Dim chemin_sous_dossier As String
'identifier le chemin du dossier
chemin_du_dossier = ""
'tester existence
If Dir(chemin_du_dossier, vbDirectory) [insérer le signe différent] vbNullString Then
'dossier existe, faire rien
Else
'si le dossier n'existe pas, le créer
MkDir (chemin_du_dossier)
For i = 1 To 12
'adapter le chemin du sous dossier
chemin_sous_dossier = chemin_du_dossier & i
'créer le sous dossier
MkDir (chemin_du_dossier)
Next
End If
'message
MsgBox ("Dossiers créés")
-------------------------------
MERCI
-------------------------------
De regarder mes vidéos,
Pour vos partages
Et vos commentaires !
-------------------------------
RENDEZ-VOUS SUR MON SITE INTERNET
-------------------------------
www.kevinbrund...
Retrouvez y :
Des fichiers Excel à télécharger gratuitement
Mes formules clés en main sur Excel avec des fichiers prêts à l'emploi
Mes services de Consultant Optimisation, Performance et Génération d'idées
-------------------------------
AUTRES RESSOURCES EN LIGNE
-------------------------------
Livres publiés : www.amazon.fr/...
Cours en ligne sur Udemy :
VBA Macro Excel - Formulaire simplifié sur une feuille Excel www.udemy.com/...
VBA Macro Excel - Compiler des fichiers dans un seul tableau www.udemy.com/...
Suivez toutes les actualités sur mon site internet directement.
-------------------------------
DES QUESTIONS ?
-------------------------------
Laissez vos questions en commentaires ou contactez-moi directement via mes réseaux sociaux.
-------------------------------
RESEAUX SOCIAUX
-------------------------------
Pour en savoir plus sur moi et me contacter :
Site internet : www.kevinbrund...
LinkedIn : / k%c3%a9vin-brundu-9a91...
Merci pour ce super tutoriel 🎉
merci, j'ai utilisé votre macro et c'est top!! :)
Merci ;)
Téléchargez les fichiers Excel et les macros des vidéos sur Patreon ! www.patreon.com/kevinbrundu
Bonjour Kévin,
Tout d'abord merci pour ce super tutoriel. Je l'ai mis en application sur Windows sans problème.
En revanche, j'ai voulu l'utiliser dans un tableau excel mais sur un MAC et cela ne semble pas fonctionner sur la ligne "MkDir (chemin_du_dossier)"
Serait-ce une ligne de code spécifique Windows qui ne serait pas reconnu par MAC ou une erreur dans mon écriture que je ne retrouve pas pour le moment ?
Bonjour, a priori, sur Mac, il faut changer le code pour avoir quelque chose comme :MkDir MacScript("return POSIX path of (" & Chr(34) & FolderPath & Chr(34) & ")") avec FolderPath qui est la variable du lien du dossier. Je ne suis pas trop spécialiste de Mac mais je peux facilement recommander ce site pour Excel et VBA sur Mac : www.macexcel.com/
Merci pour cette video.
Deux questions : pourrais tu copier coller le texte sous ta video car elle est floue et il y a des caractères qu'on lit mal par endroits.
Et aussi, si je veux nommer mes sous-dossiers (toto, titi, tata) plutôt que de les numéroter, comment modifier le vba ? Tu as une idée ?
Merci encore
Bonjour Audrey, j'ai ajouté le code dans la description de la vidéo. Pour vôtre question, voici ma réponse en vidéo : th-cam.com/video/fDGOKHXTNcg/w-d-xo.html
Bonjour,
Merci beaucoup. j'ai gagner une boite de chocolat grâce a vous. je vous dois une part
Ahaha ! Avec plaisir ! :)
Bonjour,
Tout d'abord merci pour tes tutos ! :)
J'ai une question, j'ai vu ton tuto création de sous-dossier et j'aimerais savoir comment faire pour créer des dossiers suivant une liste sur excel ?
Et cette liste commence seulement à partir de la ligne 3 et reste toujours sur la colonne A.
Le nom de dossier aura le nom de la cellule et les sous-dossiers seront à l'intérieur du dossier précédemment crée.
Merci d'avance pour ton aide
Bonjour,
Il faut utiliser le concept de la boucle sur les lignes d'un tableau Excel (j'ai quelques vidéos là dessus si besoin) et dans cette boucle, intégrer le code de cette vidéo. Si je devais le faire, j'ajouterai dans le tableau Excel une colonne pour indiquer le type, c'est à dire si cela doit être un dossier ou sous dossier. Par rapidité, je ferai en sorte que si le type est sous dossier, alors le nom du dossier parent serait renseigné dans une colonne parce que c'est vite compliqué de chercher la référence au-dessus.
Bonjour, Je viens de tester code VBA et je rencontre un problème lorsque je lance la macro et que le dossier existe déjà.
Un message d'erreur d'exécution 75 s'affiche. Auriez -vous une idée pour résoudre ce problème ?
Merci par avance
Bonjour, en cliquant sur Débogage quand l'erreur se produit, sur quelle ligne du code l'erreur se trouve ? Cela permettra de mieux identifier la source du problème et de le résoudre.
@ Bonjour, l'erreur se trouve sur la ligne MkDir(Chemin_du_dossier). Lorsque je lance la macro en pas à pas détaillé, même si le dossier existe, il ne le trouve pas. Une précision cependant, je suis sous Mac OSX.
Bonjour Kévin,
Super tuto, je viens de l'exécuter pour 1 fichier avec 875 sous-fichiers
Petite question, comment renommer tous les sous-fichiers actuellement numérotés de 0 à 874 par leurs 875 noms qui sont les 875 premières cellules de la colonne A de mon Excel..??
Exemple: sous-fichier actuellement nommé 07 renommé "Peugeot"
Cordialement,
Bonjour Jean-Paul, voici le code pour le faire en présumant que les cellules sont sur la "Feuil1" et que les noms sont en colonne 1 à partir de la ligne 1 :
Dim chemin_du_dossier As String
Dim chemin_sous_dossier As String
Dim derniere_ligne as Long
Dim onglet as Worksheet
'identifier le chemin du dossier
chemin_du_dossier = ""
'tester existence
If Dir(chemin_du_dossier, vbDirectory) [insérer le signe différent] vbNullString Then
'dossier existe, faire rien
Else
'si le dossier n'existe pas, le créer
MkDir (chemin_du_dossier)
Set onglet = ActiveWorkbook.Worksheets("Feuil1")
derniere_ligne = onglet.Cells(rows.count,1).End(xlUp).Row
For i = 1 To derniere_ligne
'adapter le chemin du sous dossier
chemin_sous_dossier = chemin_du_dossier & onglet.Cells(i,1)
'créer le sous dossier
MkDir (chemin_du_dossier)
Next
End If
'message
MsgBox ("Dossiers créés")
Bonsoir Kévin,
Merci pour ta réponse super-rapide :-)
Le script a fonctionné 1x jusqu'à la cellule A5.
Cette cellule contenait un / que j'ai effacé.
J'ai donc relancé le script avec succès partiel, car il crée le dossier parent, mais il reste vide..???
Le script bloque sur:
For i = 1 To derniere_ligne
'adapter le chemin du sous dossier
chemin_sous_dossier = chemin_du_dossier & onglet.Cells(i, 1)
'créer le sous dossier
MkDir (chemin_du_dossier)
De ce que je vois là, ça devrait être
'créer le sous dossier
MkDir (chemin_sous_dossier)
au lieu de
'créer le sous dossier
MkDir (chemin_du_dossier)
Merci Kévin, mais le résultat est le même, il crée le dossier parent qui reste vide.
J'essaie de bidouiller une solution et te maintiens informé en début de semaine prochaine,
Bon WE, JP
@@jean-paulclement4698 Envoyez moi le code en entier, peut être que ce sera plus facile pour voir ce qui ne marche pas. :)
Merci pour ton aide Kévin, je viens de t'envoyer le code via ton site, Cordialement, JP
Faites vous des formations?
Bonjour, en ce moment, j'ai mes formations sur Udemy seulement.
j'ai fait le méme codage et quand j'excute le module le message appaarait mais le dossier crée je le trouve pas sur mon bureau vous avait une solutiion a ce porobléme SVP ?
Sub crée_un_dossier()
'variable
Dim chemin_du_dossier As Integer
On Error Resume Next
'chemin du soosier
chemin_du_dossier = "C:\User\hp\Desktop\Bon de commande\"
' tester l'existance du dossier
If Dir(chemin_du_dossier, vbDirectory) vbNullString Then
'dossier existe, rien faire
Else
' si le dossier n'existe pas le créer
MkDir (chemin_du_dossier)
End If
'message
MsgBox ("Dossier crée")
End Sub
Boujour, le problème est dans la déclaration de la variable, cela devrait être Dim chemin_du_dossier As String
comment je hack un wifi
Je ne sais pas. Mais je suis sûre que cette information est disponible sur d'autres chaines :)