Menu

Copie de fichier en VBA [Résolu]

Mistral_13200 451 Messages postés mardi 5 août 2008Date d'inscription 22 avril 2018 Dernière intervention - 26 nov. 2017 à 11:25 - Dernière réponse : Mistral_13200 451 Messages postés mardi 5 août 2008Date d'inscription 22 avril 2018 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 

Votre réponse

5 réponses

cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - Modifié par cs_Le Pivert le 26/11/2017 à 16:02
0
Merci
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 451 Messages postés mardi 5 août 2008Date d'inscription 22 avril 2018 Dernière intervention - 26 nov. 2017 à 16:26
0
Merci
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 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 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 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 26 nov. 2017 à 17:21
0
Merci
Voilà, je t'ai fait un exemple:

http://www.cjoint.com/c/GKAquCPzoWQ
Commenter la réponse de cs_Le Pivert
Mistral_13200 451 Messages postés mardi 5 août 2008Date d'inscription 22 avril 2018 Dernière intervention - 26 nov. 2017 à 17:22
0
Merci
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