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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!
 
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()
 
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
 
Re : Comment à l'aide d'une macro déplacer des répertoires?

😕 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\
 
Re : Comment à l'aide d'une macro déplacer des répertoires?

😡 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!!!
 
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???
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Bloccage Excel
Réponses
1
Affichages
399
W
  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
757
Réponses
10
Affichages
148
Retour