Copie de fichier en VBA [Résolu]

Mistral_13200 416 Messages postés mardi 5 août 2008Date d'inscription 9 décembre 2017 Dernière intervention - 26 nov. 2017 à 11:25 - Dernière réponse : Mistral_13200 416 Messages postés mardi 5 août 2008Date d'inscription 9 décembre 2017 Dernière intervention
- 26 nov. 2017 à 17:22
Bonjour à tous,

Je travaille sous Excel 2010.

J’ai plusieurs répertoires (A, B et C) contenant chacun des fichiers différents (Xlsx, Docx et Jpg) je souhaiterais regrouper les fichiers :
- Xlsx dans un répertoire D
- Docx dans un répertoire E
- Jpg dans un répertoire F
en le copiant (pas en les coupant) au moyen d’un code VBA.

Les lettres données sont des exemples, elles seront remplacées par le chemin de chacun des répertoires.
Malgré mes recherches je n’ai rien trouvé de convainquant.
Pouvez-vous m’aider.
D’avance merci
Mistral
Afficher la suite 

5 réponses

Répondre au sujet
cs_Le Pivert 4775 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - Modifié par cs_Le Pivert le 26/11/2017 à 16:02
0
Utile
Bonjour,

voir ceci:

https://excel.developpez.com/faq/?page=FichiersDir#BoucleFichiers

et cela:

https://excel.developpez.com/faq/?page=FichiersDir#FileCopy

Ce qui donne cela à adapter les répertoires et les extensions:

Sub BoucleFichiers()
Dim Chemin As String, Fichier As String
 Dim Destination As String
    'Définit le répertoire contenant les fichiers
    Chemin = "C:\chemin dossier source\"
   'Définit le répertoire recevant les fichiers
   Destination = "C:\chemin dossier destination\"
    'Boucle sur tous les fichiers jpg du répertoire.
    Fichier = Dir(Chemin & "*.jpg") 'a adapter l'extension
    'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers:
    'Fichier = Dir(Chemin & "*.*")
  Do While Len(Fichier) > 0
 FileCopy Chemin & Fichier, Destination & Fichier 'copie les fichiers
          Fichier = Dir()
    Loop
End Sub


@+ Le Pivert
Commenter la réponse de cs_Le Pivert
Mistral_13200 416 Messages postés mardi 5 août 2008Date d'inscription 9 décembre 2017 Dernière intervention - 26 nov. 2017 à 16:26
0
Utile
1
Merci Le Pivert,

Je viens de tester la macro mais il ne se passe rien.
J'ai bien adapté les noms des répertoires source et destination mais le nom du fichier à copier n'est jamais renseigné, il reste vide.

On sort de la boucle au premier passage.

Mistral
cs_Le Pivert 4775 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 26 nov. 2017 à 16:40
Il faut terminer le chemin des répertoires par \
Commenter la réponse de Mistral_13200
cs_Le Pivert 4775 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 26 nov. 2017 à 17:21
0
Utile
Voilà, je t'ai fait un exemple:

http://www.cjoint.com/c/GKAquCPzoWQ
Commenter la réponse de cs_Le Pivert
Mistral_13200 416 Messages postés mardi 5 août 2008Date d'inscription 9 décembre 2017 Dernière intervention - 26 nov. 2017 à 17:22
0
Utile
Il manquait effectivement le \ à la fin des chemins des répertoires.
C'est parfait comme ça marche parfaitement.

Un grand merci à toi.
Mistral
Commenter la réponse de Mistral_13200