1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| 'Création de répertoires réccursifs si nécessaire
Sub CreerRep(Chemin)
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
If Not oFSO.FolderExists(Chemin) Then
CreerRep (oFSO.GetParentFolderName(Chemin))
oFSO.CreateFolder (Chemin)
End If
End Sub
' Déplacer des fichier non vide d'un répertoire source vers un répertoire de destination
' Si le répertoire de destinatation n'existe pas, il sera crréé.
Sub DeplacerFichiers(ByVal DossierSource As String)
Dim Fichier As String, DossierCible As String
Dim Fso As Object
Dim i As Long
Set Fso = CreateObject("Scripting.FileSystemObject")
With Worksheets(1)
For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
Fichier = .Range("A" & i).Value
DossierCible = .Range("B" & i).Value
'si dossier cible n'est pas vide
If DossierCible <> "" Then
If Dir(DossierCible, vbDirectory) = "" Then CreerRep (DossierCible)
End If
'test si les chemins source et cible sont bien des repertoires
If Dir(DossierSource & "\" & Fichier) <> "" And Dir(DossierCible & "\" & Fichier) = "" Then
'si le fichier source n'est pas vide alors on le déplace
If Fso.GetFile(DossierSource & "\" & Fichier).size <> 0 Then
Fso.MoveFile DossierSource & "\" & Fichier, DossierCible & "\"
End If
End If
Next i
End With
Set Fso = Nothing
End Sub |