IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro création de dossier et sous dossier


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut Macro création de dossier et sous dossier
    Bonjour à tous !

    J'ai récupéré une bonne macro faite par un collègue qui permet la création de dossier et sous dossiers. Cependant je souhaiterais la faire évoluer et comme j'ai du mal avec les macros je n'y arrive vraiment pas.

    Voici la macro le fichier est ci-joint :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim n, ligne, Tbl(), RepNiv(1 To 6)
    Sub CreeArboRepertoire()
      Tbl = Range("A2:B" & [A65000].End(xlUp).Row).Value
      n = UBound(Tbl)
      niv = 1
      CréeRep Tbl(1, 1), niv
    End Sub
     
    Sub CréeRep(parent, niv) ' procédure récursive
    chemin = ""
      RepNiv(niv) = parent
      For i = 1 To niv - 1
       chemin = chemin & RepNiv(i) & "\"
      Next i
      chemin = chemin & parent
      MkDir chemin
      For i = 1 To n
        If Tbl(i, 2) = parent Then CréeRep Tbl(i, 1), niv + 1
      Next i
    End Sub

    Je vous explique j'aimerais que cette macro puisse créer plusieurs dossiers d'une plage prédéfinie de la plage H27 à H40 dans le fichier . Je souhaiterais également que ces dossiers soit créer dans le dossier déjà existant prédéfinie dans les colonnes A2 et B3 "Z:\SCAN\Protégés".

    Est-ce possible?

    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    a voir ton classeur c'est pas tres clair
    peut etre que si tu nous donne un chemin complet créé on comprendra mieux ton tableau

    exemple
    c:\course au drive\ mars\ produit laitier\dessert\ yaourt.pdf
    c:\course au drive\ mars\ produit laitier\ salé\buche de chevre.pdf
    c:\course au drive\ mars\ produit laitier\ salé\coulomier.pdf

    écris moi quelque exemples en prenant les donnée de ton tableau
    se sera plus clair pour tout le monde
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Je n'ouvre jamais de classeur tiers et n'ai donc pas ouvert le tien.
    Je crois comprendre que tu veux créer dossier et sous-dossiers
    Ceci (exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" (ByVal hwnd As Long, ByVal pszPath As String, ByVal psa As Any) As Long
    Private Sub CommandButton1_Click()
        SHCreateDirectoryEx 0, "c:\toto\titi\tata", ByVal 0&
    End Sub
    créera tous les dossiers/sous-dossiers nécessaires (n'écrasera pas ceux qui existeraient éventuellement déjà)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Sub CreationDossier()
    Dim sDossier As String
    Dim sChaine As String
        sDossier = "C:\Essai1\Essai2\Essai3\Essai4\Essai5"
        sChaine = Environ("comspec") & " /c mkdir " & sDossier
        Shell sChaine, 0
    End Sub

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Sub CreationDossier()
    Dim sDossier As String
    Dim sChaine As String
        sDossier = "C:\Essai1\Essai2\Essai3\Essai4\Essai5"
        sChaine = Environ("comspec") & " /c mkdir " & sDossier
        Shell sChaine, 0
    End Sub
    Très bien ta macro. Mais comment puis-je définir les noms des dossiers a créer dans des colonnes ? Deuxième question comment mettre également des sous dossiers dans le dossier principal ?

    Avec ta macro je souhaiterais mettre dans le dossier "Essai1" plusieurs dossiers qui ont eux même plusieurs dossiers...

    Merci d'avance pour ta réponse

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Deuxième question comment mettre également des sous dossiers dans le dossier principal ?
    Mon message n'a donc été :
    - soit carrément non lu
    - soit lu et non expérimenté

    Bon ...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Sub CreationDossier()
    Dim sDossier As String
    Dim sChaine As String
        sDossier = "C:\Essai1\Essai2\Essai3\Essai4\Essai5"
        sChaine = Environ("comspec") & " /c mkdir " & sDossier
        Shell sChaine, 0
    End Sub
    Citation Envoyé par unparia Voir le message
    Bonjour
    Je n'ouvre jamais de classeur tiers et n'ai donc pas ouvert le tien.
    Je crois comprendre que tu veux créer dossier et sous-dossiers
    Ceci (exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" (ByVal hwnd As Long, ByVal pszPath As String, ByVal psa As Any) As Long
    Private Sub CommandButton1_Click()
        SHCreateDirectoryEx 0, "c:\toto\titi\tata", ByVal 0&
    End Sub
    créera tous les dossiers/sous-dossiers nécessaires (n'écrasera pas ceux qui existeraient éventuellement déjà)
    Merci pour ta réponse cependant j'ai vraiment aucune idée d'où je dois mettre ce code...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par unparia Voir le message
    Mon message n'a donc été :
    - soit carrément non lu
    - soit lu et non expérimenté

    Bon ...
    Merci pour ta réponse unparia cependant je n'arrive pas a utiliser ta macro désolé.

  9. #9
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Merci pour ta réponse unparia cependant je n'arrive pas a utiliser ta macro désolé.
    Tout ce dont tu as besoin t'a été donné.
    Ce que tu demandes serait au-delà un code à copier/coller. Et encore : en t'indiquant où, très exactement.
    Et que crois-tu que tu obtiendrais de plus en "rouvrant un topic" ? -->> rien de plus en ce qui me concerne personnellement.
    Bonne chance.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  10. #10
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

Discussions similaires

  1. Création de dossier et sous dossier niveau 2 et 3
    Par proumeau dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 05/01/2017, 11h20
  2. [XL-2010] Macro - Sélection de fichiers et sous dossiers
    Par panpipes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/08/2014, 06h54
  3. [XL-2003] Adaptation macro pour dossier et sous-dossier
    Par NulenExcel77 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 18/12/2012, 09h05
  4. [Répertoire] Création Dossier + 2 sous-dossiers
    Par Strix dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2007, 12h44
  5. Réponses: 1
    Dernier message: 30/12/2006, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo