OVH Cloud OVH Cloud

Macro VBA pour créér un répertoire

8 réponses
Avatar
Mike
Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike

8 réponses

Avatar
ClémentMarcotte
Bonjour,

Pas testé, mais cela devrait ressembler à cela:

sub nouveaudossier
mkdir range("a1").value
end sub



"Mike" a écrit dans le message de
news:
Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike



Avatar
Mike
J'ai déjà essayé... ça ne marche pas:
j'obtiens le message
"Erreur d'accès Chemin/Fichier"
et je ne sais pas où est le pb!!

Merci d'avance....


Bonjour,

Pas testé, mais cela devrait ressembler à cela:

sub nouveaudossier
mkdir range("a1").value
end sub



"Mike" a écrit dans le message de
news:
Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike








Avatar
Daniel
Bonsoir.
Essaie :

Sub teste()
Dim Rep, Chemin As String, Item, Lettre As String
Lettre = Left([A1], 1)
ChDrive Lettre
ChDir Lettre & ":"
Rep = Split([A1], "/")
On Error Resume Next
For Each Item In Rep
If Item <> Lettre Then
Chemin = CurDir & Item
MkDir Chemin
End If
Next
End Sub

Cordialement.
Daniel

"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike



Avatar
Mike
Merci!!!
Ca marche... à moitié:
au lieu de me créer les repertoires en arborescence, cela me créé tous les
répertoires dans la racine..
Ex:
avec:
C:DocumentsTestsAnnée 2005
j'obtiens trois répértoires:
C:Documents
C:Tests
C:Année 2005

il doit y avoir un petit bug qqpart...
Si tu as une idée???

Merci d'avance
Mike

"Daniel" wrote:

Bonsoir.
Essaie :

Sub teste()
Dim Rep, Chemin As String, Item, Lettre As String
Lettre = Left([A1], 1)
ChDrive Lettre
ChDir Lettre & ":"
Rep = Split([A1], "/")
On Error Resume Next
For Each Item In Rep
If Item <> Lettre Then
Chemin = CurDir & Item
MkDir Chemin
End If
Next
End Sub

Cordialement.
Daniel

"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike








Avatar
Michel Pierron
Bonsoir Mike;

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll"
(ByVal lpPath As String) As Boolean

Call MakeSureDirectoryPathExists(Range("A1").Value)

MP

"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike



Avatar
Daniel
Oups. Au temps pour moi, j'avais survolé le truc :

Sub teste()
Dim Rep, Chemin As String, Item, Lettre As String
Lettre = Left([A1], 1)
ChDrive Lettre
ChDir Lettre & ":"
Rep = Split([A1], "/")
On Error Resume Next
For Each Item In Rep
If Item <> Lettre & ":" Then
Chemin = CurDir & "" & Item
MkDir Chemin
ChDir Chemin
End If
Next
End Sub

Daniel
"Mike" a écrit dans le message de news:

Merci!!!
Ca marche... à moitié:
au lieu de me créer les repertoires en arborescence, cela me créé tous les
répertoires dans la racine..
Ex:
avec:
C:DocumentsTestsAnnée 2005
j'obtiens trois répértoires:
C:Documents
C:Tests
C:Année 2005

il doit y avoir un petit bug qqpart...
Si tu as une idée???

Merci d'avance
Mike

"Daniel" wrote:

Bonsoir.
Essaie :

Sub teste()
Dim Rep, Chemin As String, Item, Lettre As String
Lettre = Left([A1], 1)
ChDrive Lettre
ChDir Lettre & ":"
Rep = Split([A1], "/")
On Error Resume Next
For Each Item In Rep
If Item <> Lettre Then
Chemin = CurDir & Item
MkDir Chemin
End If
Next
End Sub

Cordialement.
Daniel

"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin
d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike










Avatar
LSteph
Bonjour Mike,
il faut écrire C:toto
et nom c:/toto

MkDir CStr([a1].Value)

'lSteph
"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike



Avatar
LSteph
...ouppsss

Bonjour Mike,
il faut écrire C:toto
et non c:/toto

MkDir CStr([a1].Value)

'lSteph

"LSteph" a écrit dans le message de news:

Bonjour Mike,
il faut écrire C:toto
et nom c:/toto

MkDir CStr([a1].Value)

'lSteph
"Mike" a écrit dans le message de news:

Bonjour!!

Je cherche à créer un chemin + répertoire à partir d'une macro:

Exemple: je place en cellule A1 le chemin d:/Mesdocuments/Excel/Docs2005

Comment créer une macro pour créer l'ensemble de cette arborescence en
récupérant la valeur de la cellule A1??


et éventuellement vérifier si les répertoires n'existent pas déjà??

Merci d'avance!

Mike