Copier des fichiers dans des répertoires distincts avec VBA ?

  • Initiateur de la discussion Initiateur de la discussion ejung
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

ejung

Guest
Bonjour,
Je fais appel à la communauté car je ne connais pas grand chose à VBA
Je dispose d'une feuilles xls avec 3 colonnes (de 700 lignes)
A : les noms de 700 fichiers jpg qui sont tous dans le même répertoire
B : pour chaque fichier jpg, le nom du répertoire où je souhaite le copier (1 répertoire par fichier). Ces répertoires n'existent pas
C : le nouveau nom que je souhaite donner à chaque fichier jpg
Je vous remercie de vos conseils pour réaliser ce copier-renommer un peu spécial ...
Belle journée !
 
Re : Copier des fichiers dans des répertoires distincts avec VBA ?

Bonjour Ejung


Il te faudrait lister tes fichier avec Dir.

Créer les dossiers avec MKDir.

Copier les fichiers avec Filecopy.

Enfin renommer avec Name.

Bon courage 🙂.
 
Re : Copier des fichiers dans des répertoires distincts avec VBA ?

@MO13

Merci beaucoup pour la réponse super-rapide,
C'est hélas tout à fait la réponse que je redoutais, car je ne comprends rien du tout, faute du connaissances élémentaires en VBA ...
 
Re : Copier des fichiers dans des répertoires distincts avec VBA ?

Hello again,

En parcourant les forums je suis arrivé à la solution suivants :

Sub move()
Dim Ancien As String, Nouveau As String, Rep As String, numero As Integer
' Ancien = chemin du fichier source
' Nouveau = chemin du fichier sible, avec le nouveau nom
' Rep = répertoire ou sera déplacé de fichier, sous son nouveau nom

numero = 1
Sheets("Feuil1").Range("A1").Select 'au desuus de la colonne des noms de fichier source

While numero <= 700
ActiveCell.Offset(1, 0).Range("A1").Select 'descend sur le chemin du fichier source suivant
Ancien = ActiveCell.Range("A1").Value 'enregistre le chemin du fichier source
ActiveCell.Offset(0, 1).Range("A1").Select 'va sur le nom du répertoire
Rep = ActiveCell.Range("A1").Value 'enregistre le nom du répertoire cible
ActiveCell.Offset(0, 1).Range("A1").Select 'va sur le chemin du fichier cible
Nouveau = ActiveCell.Range("A1").Value 'enregistre le chemin du fichier cible
ActiveCell.Offset(0, -2).Select 'revient sur la colonne des noms de fichiers source
MkDir Rep 'créée le répoertoire
Name Ancien As Nouveau 'déplace et renomme le fichier
numero = numero + 1 'incrémente le numéro de la ligne traitée
Wend ' stop au bout de 700

End Sub

C'est sans doute pas très propre, mais ça a marché.
Si ça peut servir, merci de témoigner.
 
Re : Copier des fichiers dans des répertoires distincts avec VBA ?

Re

Merci beaucoup pour la réponse super-rapide,
C'est hélas tout à fait la réponse que je redoutais, car je ne comprends rien du tout, faute du connaissances élémentaires en VBA ...

Ben, tu t'en es bien sorti. Tu vois, c'est pas si compliqué 🙂.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour