1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Function copy_folder_to(ByVal dossier, Optional ByVal new_parent$, Optional ByVal new_name$)
Dim OFSO, chemin$, Oldname$, etage, i&
'creation de l'object spriptingfilesystemobject
Set OFSO = CreateObject("Scripting.FileSystemObject")
If new_parent = "" And new_name = "" Or new_name = "" Then new_name = Mid(dossier, InStrRev(dossier, "\") + 1) & "(Copie)"
If new_parent = "" Then new_parent = Mid(dossier, 1, InStrRev(dossier, "\")) 'recuperation du chemin parent du dossier ciblé
'test d 'existence et creation si le new_parent n'existe pas
If Dir(new_parent, vbDirectory) = "" Then
etage = Split(new_parent, "\")
chemin = etage(0)
For i = 1 To UBound(etage)
chemin = chemin & "\" & etage(i)
' creation de l'etage(i) de l'arboresence du nouveau dossier parent si elle n'existe pas
'If Dir(chemin, vbDirectory) = "" Then MkDir chemin 'methode VBA
If Dir(chemin, vbDirectory) = "" Then OFSO.CreateFolder (chemin) ' methode FSO
Next
End If
OFSO.CopyFolder dossier, new_parent & "\" & new_name, True 'copie du dossier dans son nouveau parent
End Function |
Partager