Copie de fichier en VBA [Résolu/Fermé]

Signaler
Messages postés
531
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
2 juin 2020
-
Messages postés
531
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
2 juin 2020
-
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

Messages postés
6823
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
528
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
Messages postés
531
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
2 juin 2020
3
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
Messages postés
6823
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
528
Il faut terminer le chemin des répertoires par \
Messages postés
6823
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
528
Voilà, je t'ai fait un exemple:

http://www.cjoint.com/c/GKAquCPzoWQ
Messages postés
531
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
2 juin 2020
3
Il manquait effectivement le \ à la fin des chemins des répertoires.
C'est parfait comme ça marche parfaitement.

Un grand merci à toi.
Mistral