Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déplacement de fichiers par vba

4 réponses
Avatar
Jac
Bonjour à tous,
je suis à la recherche d'une procédure qui me permettrait de déplacer les
fichiers d'un répertoire origine et de tous ses sous répertoires vers un
répertoire cible.

J'arrive à parcourir le répertoire origine et ses sous-répertoires et à
lister tous les fichiers qu'ils contiennent, mais je ne vois pas comment
copier, ou couper les fichiers pour les coller dans le répertoire cible.

Est-ce possible ?

Merci d'avance à qui me mettra sur la voie.

Jac

4 réponses

Avatar
Pierrot93
Bonjour Jac

Regarde le code ci dessous, je pense qu'il répond à ta question :

Sub copierRepertoires_Et_SousRepertoires()
'Code de MichelXLD sur http://www.excel-downloads.com/forum/forum-excel/
'activer la reference Microsoft scripting Runtime
Dim Fso As Scripting.FileSystemObject
Dim Source As String, Destination As String

Set Fso = CreateObject("Scripting.FileSystemObject")

Source = "C:Documents and Settingsmicheldossiergeneralexcel"
Destination = "D:monRepertoire"

'False/True option pour écraser les fichiers
Fso.CopyFolder Source & "*", Destination, False
'MichelXLD
End Sub

bonne journée
@+
Avatar
Ange Ounis
L'instruction Name peut peut-être faire ce que tu demandes (la condition étant
que dossier source et dossier cible soient sur le même lecteur) :

'''''''''''''
Sub essai()
Dim Ancien$, Nouveau$
Ancien = "j:Cheni2004"
Nouveau = "j:Archives2004"
Name Ancien As Nouveau
MkDir Ancien
End Sub
'''''''''''''

----------
Ange Ounis
----------

Bonjour à tous,
je suis à la recherche d'une procédure qui me permettrait de déplacer les
fichiers d'un répertoire origine et de tous ses sous répertoires vers un
répertoire cible.

J'arrive à parcourir le répertoire origine et ses sous-répertoires et à
lister tous les fichiers qu'ils contiennent, mais je ne vois pas comment
copier, ou couper les fichiers pour les coller dans le répertoire cible.

Est-ce possible ?

Merci d'avance à qui me mettra sur la voie.

Jac





Avatar
Jac
On s'est mal compris... Ce que tu me proposes, c'est de renommer...
Moi, je désire déplacer des fichiers d'un ensemble de sous répertoires vers
un répertoire cible.
Et si on ne peut pas les déplacer, les dupliquer me conviendrait déjà bien
puis que je sais vider des répertoires par vba.

En fait j'ai des fichiers qui se rajoutent automatiquement dans une centaine
de répertoires.
Et moi, je voudrai les récupérer dans un seul répertoire afin de les
archiver.


"Ange Ounis" a écrit dans le message de news:
%
L'instruction Name peut peut-être faire ce que tu demandes (la condition
étant que dossier source et dossier cible soient sur le même lecteur) :

'''''''''''''
Sub essai()
Dim Ancien$, Nouveau$
Ancien = "j:Cheni2004"
Nouveau = "j:Archives2004"
Name Ancien As Nouveau
MkDir Ancien
End Sub
'''''''''''''
----------
Ange Ounis
----------

Bonjour à tous,
je suis à la recherche d'une procédure qui me permettrait de déplacer les
fichiers d'un répertoire origine et de tous ses sous répertoires vers un
répertoire cible.

J'arrive à parcourir le répertoire origine et ses sous-répertoires et à
lister tous les fichiers qu'ils contiennent, mais je ne vois pas comment
copier, ou couper les fichiers pour les coller dans le répertoire cible.

Est-ce possible ?




Avatar
Ange Ounis
On s'est mal compris... Ce que tu me proposes, c'est de renommer...
Moi, je désire déplacer des fichiers d'un ensemble de sous répertoires vers
un répertoire cible.


Name renomme _et_ déplace l'ensemble de l'arborescence concernée vers le dossier
de ton choix (s'il existe sinon il faut le créer avant) :

'''''''''''''
Sub essai()
Dim Ancien$, Nouveau$, Racine$
Ancien = "j:Cheni2004"
Racine = "j:Archives2004"
Nouveau = "j:Archives2004Cheni2004"
If Dir(Racine) = "" Then MkDir Racine
Name Ancien As Nouveau
MkDir Ancien
End Sub
'''''''''''''

Evidemment, si tu veux déplacer seulement une partie des fichiers de
l'arborescence qui t'intéresse, il va falloir travailler fichier par fichier.
Des idées par ici :

http://frederic.sigonneau.free.fr/code/Bricolos/XCopy.txt
http://frederic.sigonneau.free.fr/code/Fichiers/DeplacerDesFichiers.txt
http://frederic.sigonneau.free.fr/code/Fichiers/DeplaceTousLesFichiers.txt

(extraits de cette page :
http://frederic.sigonneau.free.fr/Fichiers.htm)

----------
Ange Ounis
----------

On s'est mal compris... Ce que tu me proposes, c'est de renommer...
Moi, je désire déplacer des fichiers d'un ensemble de sous répertoires vers
un répertoire cible.
Et si on ne peut pas les déplacer, les dupliquer me conviendrait déjà bien
puis que je sais vider des répertoires par vba.

En fait j'ai des fichiers qui se rajoutent automatiquement dans une centaine
de répertoires.
Et moi, je voudrai les récupérer dans un seul répertoire afin de les
archiver.


"Ange Ounis" a écrit dans le message de news:
%
L'instruction Name peut peut-être faire ce que tu demandes (la condition
étant que dossier source et dossier cible soient sur le même lecteur) :

'''''''''''''
Sub essai()
Dim Ancien$, Nouveau$
Ancien = "j:Cheni2004"
Nouveau = "j:Archives2004"
Name Ancien As Nouveau
MkDir Ancien
End Sub
'''''''''''''
----------
Ange Ounis
----------

Bonjour à tous,
je suis à la recherche d'une procédure qui me permettrait de déplacer les
fichiers d'un répertoire origine et de tous ses sous répertoires vers un
répertoire cible.

J'arrive à parcourir le répertoire origine et ses sous-répertoires et à
lister tous les fichiers qu'ils contiennent, mais je ne vois pas comment
copier, ou couper les fichiers pour les coller dans le répertoire cible.

Est-ce possible ?