Copie de fichier en VBA

Résolu
Mistral_13200 Messages postés 649 Statut Membre -  
Mistral_13200 Messages postés 649 Statut Membre -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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