IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Commande pour déplacer des fichiers à partir d'une liste Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    10000 lignes en pas à pas , ça va peut etre etre long
    essaies ça (SGDG)*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TBL = Range("a1:a" & Range("a65000").End(xlUp).Row)
    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 t = 1 To UBound(tTBL, 1)
        Source & tbl(t,1) As Desti &tbl(t,1)
        Next

    * Sans Garantie David Guy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut
    Bonjour !
    Alors non, j'ai dans un dossier l'équivalent de 23000 images.
    Dans mon fichier excel, j'ai 11000 lignes remplies en colonne A. Ce sont les noms d'une partie des images du dossier.
    Je souhaite donc via une formule :
    1. Repérer les images contenues dans le dossier image et présentes dans le fichier excel via leur nom.
    2. Déplacer ces images dans un nouveau dossier.

    Il restera donc dans mon dossier d'origine uniquement les images dont le nom n'était pas présent dans le fichier excel.

    je suis plus clair ?

  4. #4
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    je t'ai envoyé un bout de code j'étais aen train de le modifier lorsque tu as répondu
    regardes ce que ça donne (mais comme je te lae dis je ne garantie rien

  5. #5
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    Simplement parce tes "Source" et "Desti" ne sont pas correctement terminés, peut être ?

    Avec un "\" à la fin, ça ne serait pas mieux ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Phil'oche Voir le message
    Simplement parce tes "Source" et "Desti" ne sont pas correctement terminés, peut être ?

    Avec un "\" à la fin, ça ne serait pas mieux ?
    En effet, j'ai rajouté les "\" et ça a commencé à me copier des fichiers... avant de s'arrêter à cause d'une erreur 58 - Ce fichier existe déjà

    Je n'ai pas encore eu le temps de regarder les autres solutions proposées (1 milliard de choses à faire en même temps ^^")

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut
    Bonjour !
    Je me permet de poster un nouveau message ici, je viens de trouver une solution qui fonctionne parfaitement ! ça pourra sans doute un jour aider quelqu'un
    https://www.extendoffice.com/documen...xcel-list.html
    Bonne journée !

  8. #8
    Invité de passage
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Février 2018
    Messages : 1
    Par défaut
    Citation Envoyé par Nhibel Voir le message
    Bonjour !
    Je me permet de poster un nouveau message ici, je viens de trouver une solution qui fonctionne parfaitement ! ça pourra sans doute un jour aider quelqu'un
    https://www.extendoffice.com/documen...xcel-list.html
    Bonne journée !
    Bonjour !
    Ce macro est magique !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub copyfiles()
    '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
            End If
        Next
    End Sub
    Pensez-vous qu'il est possible d'avoir un petite variation qui me permettrait de copier des fichiers qui ont des variables ?

    Je m'explique :
    J'ai une liste de référence dans un colonne qui ressemble a :
    nomdephoto1
    nomdephoto2
    ...

    pour chacun de ces nom, j'ai 5 ou 6 photos qui lui correspondent :
    nomdefichier1.00.jpg
    nomdefichier1.01.jpg
    nomdefichier1.02.jpg
    nomdefichier1.04.jpg
    nomdefichier1.05.jpg
    nomdefichier1.06.jpg
    ----
    nomdefichier2.00.jpg
    nomdefichier2.01.jpg
    nomdefichier2.02.jpg
    nomdefichier2.04.jpg
    nomdefichier2.05.jpg
    ...


    Je souhaiterai indiquer au script de copier tous les fichiers qui commencent par nomdefichier1 ; nomdefichier2 ... dans mon nouveau répertoire. Donc pour mes 2 ref, il me copierait 11 fichiers pour cet exemple.

    Ça me parait un peu compliqué mais je demande toujours. Ce serait un life saver.

    Merci beaucoup!

  9. #9
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1

Discussions similaires

  1. [XL-2010] rech commande pour déplacer des fichiers dans un liste vers un autre dossier
    Par Mistral13200 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/12/2015, 15h50
  2. [XL-2013] rech commande pour déplacer des fichiers dans un liste vers un autre dossier
    Par cmoithiery dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/11/2015, 12h18
  3. Macro pour imprimer des elements à partir d'une feuille excel
    Par SATDVB dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/08/2013, 06h49
  4. [XL-2010] Macro pour renommer des fichiers à partir d'une liste de nom de fichiers
    Par thomahh dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/01/2013, 17h03
  5. [Batch] Supprimer des fichiers à partir d'une liste contenu dans un fichier txt
    Par damsmut dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 15/11/2012, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo