Commande pour déplacer des fichiers à partir d'une liste Excel
Salutation !
Je viens de m'inscrire sur ce forum afin de quérir un peu d'aide :)
Tout d'abord, je préfère préciser que je suis un absolu débutant en ce qui concerne les macro sous excel et je suis d'un niveau débutant sur son utilisation générale.
Bref, ma demande :
J'ai un fichier excel avec uniquement la colonne A remplie (11000 lignes) sous la forme :
Code:
1 2 3 4 5 6 7 8 9 10
| aiguille_pour_laine_mes_plus_belles_creations_qfq6XU.jpg
crochet_acier_175_mes_plus_belles_creations_tA9XZA.jpg
aiguilles_a_tricoter_40_cm_mes_plus_belles_creations_wrtEzN.jpg
crochet_a_ouvrage_pour_laine_mes_plus_belles_creations_nP2D9R.jpg
aiguilles_circulaires_80_cm_mes_plus_belles_creations_Rx2Eq4.jpg
tricotin_mes_plus_belles_creations_pMErDr.jpg
distributeur_tournant_aiguille_mes_plus_belles_creations_cuw7w9.jpg
coussin_mousse_avec_ciseaux_mes_plus_belles_creations_sgkfYh.jpg
pince_precision_+_loupe_mes_plus_belles_creations_Q6JHSK.jpg
pince_precision_+_lampe_led_mes_plus_belles_creations_VgYmM7.jpg |
Dans un dossier, j'ai des fichiers images dont le nom concorde avec cette liste, et d'autres fichiers images que je ne souhaite pas conserver.
Je cherche donc un moyen, via cette liste, d'aller sélectionner les nom concordants et de les déplacer.
Après avoir recherché sur les Internet, je suis tombé sur ce sujet : https://www.developpez.net/forums/d1...-vers-dossier/ qui correspond exactement à ma recherche.
Mais la formule qui semble fonctionner
Code:
1 2 3 4 5 6 7 8 9 10
| Sub Transfert()
Dim C As Range, Source As String, Desti As String
Source = "D:\Users\Daniel\Documents\Donnees\Daniel\Photos\2015-04\"
Desti = "D:\Users\Daniel\Documents\Donnees\Daniel\Photos\2015-07\"
For Each C In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If Dir(Source & C.Value) <> "" Then
Name Source & C.Value As Desti & C.Value
End If
Next C
End Sub |
et que j'ai retranscris ci-dessous ne fonctionne pas, j'obtiens une erreur d’exécution 52 - Nom ou numéro de fichier incorrect
Code:
1 2 3 4 5 6 7 8 9 10
| Sub Transfert()
Dim C As Range, Source As String, Desti As String
Source = "F:\Documents\WEB\Axecibles\Dossier_Images\Images"
Desti = "F:\Documents\WEB\Axecibles\Dossier_Images\Images_2"
For Each C In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If Dir(Source & C.Value) <> "" Then
Name Source & C.Value As Desti & C.Value
End If
Next C
End Sub |
Je me permets donc de venir ici chercher un peu d'aide, car je ne comprends pas où se situe l'erreur.
D'avance, un grand merci !