Déplacer fichiers d'un répertoire vers un autre d'après une liste - VBA
Alan9191
Messages postés
1
Statut
Membre
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
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.
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. :)
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:
- Déplacer fichiers d'un répertoire vers un autre d'après une liste - VBA
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier bin ? - Guide