Déplacer fichiers d'un répertoire vers un autre d'après une liste - VBA

Alan9191 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous :)

Je n'arrive pas à modifier une macro, je suis novice en VBA.
Vous pouvez voir ci-dessous la macro movefiles qui a pour actions :

1. Elle me demande de sélectionner la plage de la liste sur le fichier excel et un dossier d'origine (AA) puis un dossier de destination (BB).
2. Elle lit une liste et déplace les fichiers qui ont le même nom d'un dossier AA à un dossier BB.


Sub movefiles()
'Updateby Extendoffice
    Dim xRg As Range, xCell As Range
    Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
    Dim xSPathStr As Variant, xDPathStr As Variant
    Dim xVal As String
    On Error Resume Next
    Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    xSFileDlg.Title = " Please select the original folder:"
    If xSFileDlg.Show <> -1 Then Exit Sub
    xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
    Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    xDFileDlg.Title = " Please select the destination folder:"
    If xDFileDlg.Show <> -1 Then Exit Sub
    xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
    For Each xCell In xRg
        xVal = xCell.Value
        If TypeName(xVal) = "String" And xVal <> "" Then
            FileCopy xSPathStr & xVal, xDPathStr & xVal
            Kill xSPathStr & xVal
        End If
    Next
End Sub


Mon objectif est de modifier la macro pour déplacer les images qui comportent les EAN d'une liste, d'un dossier AA à un dossier BB.
En bleu dans les images, c'est des exemples de ce que la macro devrait renvoyer.

Ce que je voudrais idéalement / Choix n°1 :
1. La macro lit les codes de ma liste en colonne A
2. Pour chaque code, elle déplace tous les fichiers qui comportent ce code dans leurs noms
3. En colonne B,C,D,E, elle écrit le nom exact du ou des fichiers déplacés (maximum 4/5 fichiers)



Ce que je voudrais sinon / Choix n°2 :
1. La macro lit les codes de ma liste en colonne A
2. Pour chaque code, elle déplace tous les fichiers qui comportent ce code dans leurs noms
3. En colonne B, elle écrit "OUI" si un ou plusieurs fichiers comportant le code ont été déplacés ou "NON" si aucun fichiers n'a été trouvé avec le code dans son nom.


J'espère avoir été clair, merci pour votre aide. :)
A voir également:

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
tu écris que tu es novice en VBA, et que ton objectif est de modifier la macro.
souhaites-tu ne pas rester novice, et acquérir les compétences pour réaliser ton objectif?
0