MkDir et création multi répertoires

Bonjour,

J'ai bien vu le sujet développé par Math et Myta du 5 fév 2008 concernant la commande MkDir, mais je ne sais pas comment créer le chemin suivant :

P:\Essai\Récup données\Equipe 1

P est un NOM du fichier Excel (LettreFich)

et Equipe 1 est une correspondance d'un NOM du fichier Excel (Equipe)

Quelqu'un peut-il me venir en aide SVP ?

Merci d'avance.

P.S. : lien du sujet développé par Math et Myta

https://forum.excel-pratique.com/viewtopic.php?t=3815&highlight=cr%E9er+r%E9pertoire

Bonjour,

Dans ton explication :

P:\Essai\Récup données\Equipe 1

Le répertoire est --> P:\Essai\Récup données\ ou P:\ est le répertoire et Essai et Récup données sont des dossiers

Le fichier est --> Equipe 1.xls

Est-ce cela que tu veux faire

A te relire

Dan

Edit : dis nous ce qui existe chez toi comme répertoire

Salut Dan,

En fait il s'agit bien de sous-répertoires.

le sous-répertoire Equipe 1 est dans le sous répertoire Récup données

et Récup données dans le répertoire Essai

qui est lui un répertoire du disque P:

J'espère que j'ai été un peu plus clair ainsi.

Merci de ton aide.

A+

Cap

re,

Si tu dois créer le répertoire EQUIPE1, la comme doit être

mkdir "P:\Essai\Récup données\Equipe1"

Amicalement

Dan

Nad-Dan a écrit :

re,

Si tu dois créer le répertoire EQUIPE1, la comme doit être

mkdir "P:\Essai\Récup données\Equipe1"

Amicalement

Dan

Merci Dan.

J'avais déjà essayé et la com ne marche pas. Je viens d'essayer à nouveau et j'ai à nouveau le même message d'erreur : erreur d'exécution 76 - chemin d'accès introuvable.

D'après ce qu'il me semble avoir compris à propos de la commande MkDir, elle ne créerait qu'un seul répertoire à la fois, et je ne sais pas comment faire pour créer le chemin complet.

Je n'ai plus de matière grise dispo pour réfléchir ce soir. Je vais faire dormir les quelques neurones encore en activité.

Merci encore pour ton aide.

A+

Cap

Salut le forum

Capitaine, je te donne une solution par fonction de Frederic Sigonneau.

'Créer un répertoire et ses répertoires parents

Function MakeDirEx(DirPath$) As Boolean
Dim i%, tmp, Arr

If InStr(1, DirPath, ":") = 0 Then
Arr = Split(CurDir & DirPath, "\")
Else: Arr = Split(DirPath, "\")
End If

tmp = Arr(0)
For i = LBound(Arr) + 1 To UBound(Arr)
If Arr(i) <> "" Then
tmp = tmp & "\" & Arr(i)
On Error Resume Next
MkDir tmp
On Error GoTo 0
End If
Next

If Dir(DirPath, vbDirectory) = "" Then
On Error Resume Next
RmDir Arr(0) & "\" & Arr(1)
On Error GoTo 0
Else
MakeDirEx = True
End If

End Function

Sub test()
dossier$ = "C:\a\b\c\e\Equipe1"
MakeDirEx (dossier)
End Sub

Bonne continuation au forum, ma disponibilité va être moindre dans les semaines à venir.

De toute façon la relève en VBA est déjà en place.

Amicalement

Mytå

Bonjour à tous,

Bonjour Mytå,

Merci pour ton aide.

Je viens d'essayer ta page de code et j'ai un bug : Erreur de compil, Sub ou Function non définie.

Voir ci-dessous le message généré à l'appel de la macro.

https://www.excel-pratique.com/~files/doc/Bug_macro.jpg

Je commence en VBA et suis très loin de connaître à fond le sujet.

J'utilise Excel 97, c'est peut-être une version qui ne supporte pas la cmde Split ?

Amicalement,

Cap

re,

Oui Capitaine, la fonction Split n'est utilisable qu'à partir d'excel 2000 et comme tu n'as pas mis ta version d'excel dans ton profil, Myta et moi-même ne le savions pas.

Ce qu'il faudrait connaitre le répertoire existant sur ton PC.

Exemple : Si le répertoire existant est "P:\Essai\Récup données" et que tu veux lui ajouter un dossier "Equipe1", tu dois mettre ceci dans ton code

MkDir "P:\Essai\Récup données\Equipe1"

Si tu dois créer plusieurs répertoires, il faut s'y prendre en plusieures étapes dans ton code.

Dis nous ce qui existe et ce que tu dois créer.

A te relire

Dan

Re,

Merci Dan,

Désolé de ne pas avoir indiqué la version Excel plus tôt. Je jongle entre deux versions à l'heure actuelle (Excel 2000 (dom) et Excel 97(bur)).

Sur le PC, seul le répertoire "racine" est existant (Essai).

Je veux inclure ce type de commande dans un fichier Excel qui sera utilisé par plusieurs utilisateurs sur des PC différents et pour que chacun ait la même architecture, je veux que le chemin complet soit créé à l'utilisation du fichier Excel.

Le sous-répertoire Equipe 1 ou Equipe x est récupéré à partir d'une cellule du fichier Excel qui a été nommée.

Merci à vous tous pour votre aide,

Cap

re,

Là on comprend mieux ton souci.

Tu parles de cellule nommée. Equipe1 c'est que tu as d'écrit dans ta cellule ou c'est un nom donné à ta cellule ?

Dis moi aussi quelle est la référence de la cellule (A1, E10, F5 ??)

A te relire

Dan

Re,

"Equipe" est le nom Excel de la cellule A3 d'une de mes feuilles de calcul.

Dans cette cellule, l'intervenant y inscrit Equipe 1 ou Equipe 2, etc...

Donc pour la création du répertoire j'ai besoin de récupérer le contenu de cette cellule nommée "Equipe" pour en faire le répertoire de destination des fichiers qui seront créés par cette unité.

A+

Cap

Re,

Ok si j'ai bien compris ton dernier message, la cellule A3 contient le mot "Equipe 1" et que tu veux créer un répertoire basé sur le contenu de la cellule A3, ici "Equipe 1", tu dois prendre ce code :

MkDir "P:\Essai\" & Range("A3")

A te relire

Dan

Re,

Dsl, ça ne marche pas. Même code erreur que précédemment.

Y a qu'à laisser tomber, je ferai créer les dossier manuellement lors de l'utilisation de l'application.

Merci à tous pour votre contribution. J'ai appris quelques codes supplémentaires grâce à vous.

Amicalement,

Capitaine

re,

Non on doit trouver.

Envoie moi ton fichier (sous excel 2000) ou le code (si ton fichier est trop lourd) que je regarde ce qui se passe.

J'ai testé ce que je te propose et cela ne pose pas de soucis.

A te relire

Dan

Edit : Au fait dans quel répertoire se trouve le fichier contenant ta macro ?

PS : Si ton pb est résolu n'oublie pas, de mettre" résolu" en utilisant la liste déroulante au bas de la fenêtre de ton premier message.

Salut le forum

Nad-Dan a écrit :

Envoie moi ton fichier (sous excel 2000) ou le code (si ton fichier est trop lourd) que je regarde ce qui se passe.

Je me désabonne de cette ficelle, encore une question en Messagerie Privé...

Pour Split une alternative sous Excel 97

Function Split97(chaine As String, Separateur As String)
Dim i As Integer, NbreTab As Integer
Dim Debutchaine As Integer
Dim Tableau()
NbreTab = 0
Debutchaine = 1
For i = 1 To Len(chaine)
If Mid(chaine, i, 1) = Separateur Then
NbreTab = NbreTab + 1
ReDim Preserve Tableau(1 To NbreTab)
Tableau(NbreTab) = Mid(chaine, Debutchaine, i - Debutchaine)
i = i + 1
Debutchaine = i
End If
Next i
If i > Debutchaine Then
NbreTab = NbreTab + 1
ReDim Preserve Tableau(1 To NbreTab)
Tableau(NbreTab) = _
Mid(chaine, Debutchaine, i - Debutchaine)
End If
If NbreTab = 0 Then
ReDim Tableau(1)
Tableau(1) = chaine
End If
Split97 = Tableau()
End Function

Mytå

PS : Merci de bien vouloir compléter ton Profil en indiquant ta version Office

re,

encore une question en Messagerie Privé... 

Et non Myta, tu fais fausses route là. Cette réponse n'était pas pour demander à Capitaine d'envoyer son fichier en messagerie privée mais de le poster ici.

Bonne journée

Dan

Bonjour,

Ce que je recherche à faire : Créer un chemin d'accès pour pouvoir y installer un fichier Excel. Ce chemin doit être créé à l'identique pour chacune des personnes utilisant ce fichier Excel.

A l'ouverture du fichier, tester la présence du chemin qui doit se trouver sur le disque inscrit dans l'onglet 'Liste' en B2 (nommée LettreDisk), et si inexistant, créer ce chemin

Le chemin cherché est : disque:\Commun\Récup données\Equipe 1 ou Equipe 2 ou Equipe x suivant ce qui est inscrit dans l'onglet 'Saisie' en A3 (nommée Equipe). (le répertoire Commun se trouve en principe déjà sur le disque)

Le plus : peut-on avoir un message indiquant "Chemin créé, OK" ?

Nous sommes sur Excel 97 actuellement. Nous allons passer en Excel 2000 d'ici quelques temps. La transformation est-elle compliquée de 97 sur 2000 ?

Ci-dessous mon fichier (j'ai viré tous les codes)

https://www.excel-pratique.com/~files/doc/Test_creat_repert.xls

Merci pour votre aide précieuse.

Cap

Re,

essaye avec ton fichier en retour.

Clique sur le bouton pour créer le répertoire en question.

Fichier

Amicalement

Dan

Bonjour à tous,

Salut Dan,

Capitaine, pour le passage de Excel 97 à 2000, aucun problème.

Amicalement

Claude.

re,

Comme Dubois te le dit mais toutefois, si tu as des codes VBA genre "Auto_open" et Auto_close", je te conseille de les retirer de tes fichiers avant de passer à Excel 2000.

Le mieux serait même de retirer toutes les feuilles contenant du VBA.

Amicalement

Dan

Rechercher des sujets similaires à "mkdir creation multi repertoires"