Copie de fichier en VBA

Résolu/Fermé
Mistral_13200 Messages postés 632 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 14 février 2024 - 26 nov. 2017 à 11:25
Mistral_13200 Messages postés 632 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 14 février 2024 - 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

4 réponses

cs_Le Pivert Messages postés 7902 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 novembre 2023 728
Modifié le 26 nov. 2017 à 16:02
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
0