Comment à l'aide d'une macro déplacer des répertoires?

tarvel

XLDnaute Occasionnel
Bonjour,
Comment à l'aide d'une macro déplacer des répertoires contenant des
fichiers.xls?
En clair j'ai C:\MonDossier\repertoire_1, repertoire_2,... repetoire_n...
Comment déplacer ces différents répertoires de C:\MonDossier vers un répertoire général comme C:\MonDossier\RepGénéral
Merci pour votre aide!
 

Kobaya

XLDnaute Occasionnel
Re : Comment à l'aide d'une macro déplacer des répertoires?

salut tarvel,

en plusieurs étapes, car je ne pense pas sûr qu'il y ait une commande qui le fasse directement :
  1. créer le répertoire de Destination (s'il n'existe pas déjà) avec MkDir()
  2. copier les fichiers de Source vers Destination avec FileCopy()
  3. détruire les fichiers dans Source avec Kill()
  4. éventuellement détruire le répertoire Source avec RmDir()
 

michel_m

XLDnaute Accro
Re : Comment à l'aide d'une macro déplacer des répertoires?

Bonsoir Tarvel Kobaya

tu peux t'inspirer de ces instructions
Set deplace = CreateObject("Scripting.FileSystemObject")

Deplace movefolder “c:\chemindetessources\”, c:\mondossier\repgen\
n'oublie pas les antislash à la fin

si ton antivirus a une fonction heuristique, il risque de se manifester (f secure, mac afee...) car il n'aimera pas le movefolder

Movefolder est assez "casse-gueule" il faudrait mieux utiliser copyfolder et ensuite "kill" comme l'indique Kobaya; la aussi un anti-virus sérieux va y aller de sa parano
 

tarvel

XLDnaute Occasionnel
Re : Comment à l'aide d'une macro déplacer des répertoires?

:confused: Merci à vous.
Kobaya
2. copier les fichiers de Source vers Destination avec FileCopy()
File Copy va copier les fichiers...mais j'aimerais que cela soit l'ensemble des répertoires (une trentaine tout de même...) avec leurs fichiers!!!

michel_m, j'ai une erreur de compil "Attendu fin d'instruction" avec cela (pourtant j'ai coché Microsoft Scripting runtime et j'ai mis les antislash à la fin
Deplace movefolder “c:\MonDossier\”, c:\MonDossier\Archives\
 

michel_m

XLDnaute Accro
Re : Comment à l'aide d'une macro déplacer des répertoires?

re,

j'ai du oublier de mettre des guillemets à
c:\mondossier\repgen\
 

tarvel

XLDnaute Occasionnel
Re : Comment à l'aide d'une macro déplacer des répertoires?

:mad: Non j'ai toujours l'erreur à la ligne "Deplace copyfolder..." avec
Set Deplace = CreateObject("Scripting.FileSystemObject")
Deplace copyfolder "C:\test\" , "C:\Archives\"
Pourtant les répertoires existent...je ne comprends pas!!!
 

tarvel

XLDnaute Occasionnel
Re : Comment à l'aide d'une macro déplacer des répertoires?

J'ai résolu en partie le prob de syntaxe...il faut mettre des parenthèses
Deplace CopyFolder("C:\test\", "C:\Archives\")
Autre problème...CopyFolder...J'ai Function non définie???
 

tarvel

XLDnaute Occasionnel
Re : Comment à l'aide d'une macro déplacer des répertoires?

En conclusion et avec l'aide apportée j'ai choisi 2 répertoires différents et utiliser les différentes possibilités de copie, de suppression de répertoire et de fichiers.
Code:
Dim FSO As New FileSystemObject
Dim LesFichiers, AutresFichiers, Origine, Destination as String
Set FSO = CreateObject("Scripting.FileSystemObject")
Origine = "C:\MonDossier"
Destination = "C:\Archives"
LesFichiers = Origine & "\" & "*.*"
FSO.CopyFile LesFichiers, "C:\Fichiers", True 'copie les fichiers du répertoire Origine vers "C:\Fichiers"
FSO.CopyFolder Origine, Destination 'Pour copier le répertoire Origine vers Destination
FSO.DeleteFolder Origine 'Supprimer le répertoire Origine
Mkdir "C:\MonDossier" 'Création du répertoire MonDossier
AutresFichiers = "C:\Fichiers\" & "*.*"
FSO.DeleteFile AutresFichiers 'Supprimer les Fichiers du répertoire Fichiers
 

Discussions similaires


Haut Bas