OVH Cloud OVH Cloud

Créer un nouveau dossier

8 réponses
Avatar
Stach
Salut à tous,

Soit un dossier: "C:\MonPC\MesDossier\XYZ05\

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si il
n'exite pas le créer?

Tout grand merci.

--
Stach ;-)

8 réponses

Avatar
Pierre Fauconnier
Bonjour

En ayant au préalable coché la référence "Microsoft Scripting runtime" (
fichier scrrun.dll dans system32 ), tu peux utiliser ce qui suit :

Sub Creer_Dossier()
Dim fso As New FileSystemObject
If Not fso.FolderExists("c:pierre") Then fso.CreateFolder "c:pierre"
End Sub

Si tu souhaites manipuler le dossier après l'avoir créé, tu peux également
utiliser
Sub Creer_Dossier()
Dim fso As New FileSystemObject
Dim Dossier As Folder
If Not fso.FolderExists("c:pierre") Then fso.CreateFolder "c:pierre"
Set Dossier = fso.GetFolder("c:pierre")
End Sub


Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Stach" a écrit dans le message de
news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si
il

n'exite pas le créer?

Tout grand merci.

--
Stach ;-)


Avatar
denis P
salut

Crée un répertoire ou un dossier.

MkDir "TonRépertoir"

'Pour tester si RépertoireExiste

Function RépertoireExiste(Chemin As String) As Boolean

On Error Resume Next

RépertoireExiste = GetAttr(Chemin) And vbDirectory

End Function

Sub Test()

MsgBox RépertoireExiste("C:Truc")

End Sub

'Laurent Longre, mpfe

Denis P.

"Stach" a écrit dans le message de
news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si
il

n'exite pas le créer?

Tout grand merci.

--
Stach ;-)


Avatar
FxM
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si il
n'exite pas le créer?

Tout grand merci.



Bonjour,

qq chose comme ...

Alt-f11 | insertion | module

sub teste_et_cree()
dire = "C:MonPCMesDossierXYZ05"
createdir(dire)
end sub

Function createdir(inp)
Application.Volatile
If Right(inp, 1) <> "" Then inp = inp & ""
c = 0
etiq2:
d = c: c = InStr(c + 1, inp, "")
If c = 0 Then Exit Function
If Dir(Mid(inp, 1, c - 1), vbDirectory) = "" Then
MkDir (Mid(inp, 1, c - 1))
end if
If c > 0 Then GoTo etiq2
End Function

@+
FxM

Avatar
Stach
J'ai essayé: MkDir "C:MonPCMesDossierXYZ05" mais çe ne fonctionne pas. Que
puis-je faire stp?

merci.

"denis P" wrote:

salut

Crée un répertoire ou un dossier.

MkDir "TonRépertoir"

'Pour tester si RépertoireExiste

Function RépertoireExiste(Chemin As String) As Boolean

On Error Resume Next

RépertoireExiste = GetAttr(Chemin) And vbDirectory

End Function

Sub Test()

MsgBox RépertoireExiste("C:Truc")

End Sub

'Laurent Longre, mpfe

Denis P.

"Stach" a écrit dans le message de
news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si
il

n'exite pas le créer?

Tout grand merci.

--
Stach ;-)







Avatar
Stach
Salut Pierre,

Malgrés que j'ai coché la Bibliothèque "Microsoft Scripting runtime", ça ne
marche pas!

J'ai également tester avec Mkdir, mais ça na marchepas non plus! que puis-je
faire?

merci

"Pierre Fauconnier" wrote:

Bonjour

En ayant au préalable coché la référence "Microsoft Scripting runtime" (
fichier scrrun.dll dans system32 ), tu peux utiliser ce qui suit :

Sub Creer_Dossier()
Dim fso As New FileSystemObject
If Not fso.FolderExists("c:pierre") Then fso.CreateFolder "c:pierre"
End Sub

Si tu souhaites manipuler le dossier après l'avoir créé, tu peux également
utiliser
Sub Creer_Dossier()
Dim fso As New FileSystemObject
Dim Dossier As Folder
If Not fso.FolderExists("c:pierre") Then fso.CreateFolder "c:pierre"
Set Dossier = fso.GetFolder("c:pierre")
End Sub


Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Stach" a écrit dans le message de
news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si
il

n'exite pas le créer?

Tout grand merci.

--
Stach ;-)







Avatar
denis P
la pas comprendre...
soit tu à une err dans ton chemin "C:MonPCMesDossierXYZ05"
soit tu essai de créer ton rep dans un rep qui n'existe pas.
soit tu essai de créer ton rep alor qu'il existe déjàt.
denis p.



"Stach" a écrit dans le message de
news:
J'ai essayé: MkDir "C:MonPCMesDossierXYZ05" mais çe ne fonctionne pas.
Que

puis-je faire stp?

merci.

"denis P" wrote:

salut

Crée un répertoire ou un dossier.

MkDir "TonRépertoir"

'Pour tester si RépertoireExiste

Function RépertoireExiste(Chemin As String) As Boolean

On Error Resume Next

RépertoireExiste = GetAttr(Chemin) And vbDirectory

End Function

Sub Test()

MsgBox RépertoireExiste("C:Truc")

End Sub

'Laurent Longre, mpfe

Denis P.

"Stach" a écrit dans le message de
news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et
si



il
n'exite pas le créer?

Tout grand merci.

--
Stach ;-)









Avatar
Clément Marcotte
Si tu as on error resume next, vire le. Avec un peu de chance, le
programme va planter où il a une erreur.


"Stach" a écrit dans le message de
news:
J'ai essayé: MkDir "C:MonPCMesDossierXYZ05" mais çe ne fonctionne
pas. Que

puis-je faire stp?

merci.

"denis P" wrote:

salut

Crée un répertoire ou un dossier.

MkDir "TonRépertoir"

'Pour tester si RépertoireExiste

Function RépertoireExiste(Chemin As String) As Boolean

On Error Resume Next

RépertoireExiste = GetAttr(Chemin) And vbDirectory

End Function

Sub Test()

MsgBox RépertoireExiste("C:Truc")

End Sub

'Laurent Longre, mpfe

Denis P.

"Stach" a écrit dans le message
de


news:
Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier
existe, et si



il
n'exite pas le créer?

Tout grand merci.

--
Stach ;-)









Avatar
Gaenonius
A partir d'Excel 2000 (à cause de Split) tu peux tester cette procédure :

'**********************************
Sub essai()
Dim S$
S = "C:MonPCMesDossierXYZ05"
CreateDirARallonge S
End Sub

Sub CreateDirARallonge(Chaine)
Dim Tabl, Lecteur, Dossier
Tabl = Split(Chaine, "")
Lecteur = Tabl(0) & ""
For i = 1 To UBound(Tabl)
Dossier = Dossier & Tabl(i) & ""
If Dir(Lecteur & Dossier, vbDirectory) = "" _
Then MkDir (Lecteur & Dossier)
Next
End Sub
'***********************************

--
Gaenonius

Salut à tous,

Soit un dossier: "C:MonPCMesDossierXYZ05

Qq pourrais me dire comment, en VBA, vérifier si ce dossier existe, et si il
n'exite pas le créer?

Tout grand merci.