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...

ความคิดเห็น • 29

  • @homelearning547
    @homelearning547 ปีที่แล้ว +1

    Merci pour ce super tutoriel 🎉

  • @milie2886
    @milie2886 2 ปีที่แล้ว

    merci, j'ai utilisé votre macro et c'est top!! :)

  • @sylvainkacinou1817
    @sylvainkacinou1817 6 ปีที่แล้ว +1

    Merci ;)

  •  5 ปีที่แล้ว

    Téléchargez les fichiers Excel et les macros des vidéos sur Patreon ! www.patreon.com/kevinbrundu

  • @fannycoutanceau6136
    @fannycoutanceau6136 10 หลายเดือนก่อน

    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 ?

    •  10 หลายเดือนก่อน +1

      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/

  • @audreydetournay7843
    @audreydetournay7843 6 ปีที่แล้ว +2

    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

    •  5 ปีที่แล้ว

      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

  • @luonoszou6873
    @luonoszou6873 3 ปีที่แล้ว

    Bonjour,
    Merci beaucoup. j'ai gagner une boite de chocolat grâce a vous. je vous dois une part

    •  3 ปีที่แล้ว

      Ahaha ! Avec plaisir ! :)

  • @cq5153
    @cq5153 4 ปีที่แล้ว

    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

    •  4 ปีที่แล้ว

      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.

  • @pascalmangin3801
    @pascalmangin3801 ปีที่แล้ว

    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.

    • @pascalmangin3801
      @pascalmangin3801 ปีที่แล้ว

      @ 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.

  • @jean-paulclement4698
    @jean-paulclement4698 4 ปีที่แล้ว

    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,

    •  4 ปีที่แล้ว

      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")

  • @jean-paulclement4698
    @jean-paulclement4698 4 ปีที่แล้ว

    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)

    •  4 ปีที่แล้ว

      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)

    • @jean-paulclement4698
      @jean-paulclement4698 4 ปีที่แล้ว

      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

    •  4 ปีที่แล้ว

      @@jean-paulclement4698 Envoyez moi le code en entier, peut être que ce sera plus facile pour voir ce qui ne marche pas. :)

    • @jean-paulclement4698
      @jean-paulclement4698 4 ปีที่แล้ว

      Merci pour ton aide Kévin, je viens de t'envoyer le code via ton site, Cordialement, JP

  • @hervenounga365
    @hervenounga365 ปีที่แล้ว

    Faites vous des formations?

    •  ปีที่แล้ว

      Bonjour, en ce moment, j'ai mes formations sur Udemy seulement.

  • @pablo35000
    @pablo35000 4 ปีที่แล้ว

    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

    •  4 ปีที่แล้ว +1

      Boujour, le problème est dans la déclaration de la variable, cela devrait être Dim chemin_du_dossier As String

  • @DBNear-oy3br
    @DBNear-oy3br 5 ปีที่แล้ว

    comment je hack un wifi

    •  5 ปีที่แล้ว

      Je ne sais pas. Mais je suis sûre que cette information est disponible sur d'autres chaines :)