VBA- Déplacer des fichiers issus de dossiers différents

Bonjour,

Je cherche à déplacer des fichiers qui sont dans des dossiers différents. Pour cela, j'ai récupéré une macro sur ce forum et j'ai essayé de la modifier pour qu'elle tienne compte du dossier du fichier (année dans la colonne A) et du nom du fichier (colonne B).

La macro tourne, je n'ai pas d'erreur. Les espions enregistrent bien le nom de dossier spécifique (au moins pour la 1ere ligne). Mais la commande de déplacement ne s'effectue pas. J'ai bien vérifié les nom des dossiers, mais il ne semble pas y avoir d'erreur.

Je vous joins le fichier en espérant que vous pourrez m'aider.

En vous remerciant pour votre lecture, bonne soirée

Bonjour x--ben

Il faut modifier la boucle comme suit

    For iLig = 2 To iDerLig
      sFichier = oShListe.Range("B" & iLig).Value
      If UCase(Right(sFichier, 5)) <> ".docx" Then
        sFichier = sFichier & ".docx"
      End If
      If Dir(sRepSource & sFichier) = "" Then
        'V0.2
        'MsgBox "Fichier absent !" & vbCrLf & sFichier, vbExclamation
        bOK = False
        'V0.2-fin
      Else
        'déplacement
        moFSO.MoveFile sRepSource & sFichier, sRepCible & sFichier
        'V0.2-true
        bOK = True
        'V0.2-fin
      End If
      'V0.2
      EcrireResultat oShListe.Range("B" & iLig).Value, bOK
      'V0.2-fin
    Next iLig

Il faut spécifier le chemin mais aussi le nom du fichier de destination

@+

Bonjour BrunoM45,

Merci pour ta réponse. Malheureusement cela n'a pas changé grand chose (à part me permettre de mieux comprendre .Movefile).

Je n'ai toujours aucun message d'erreur. La macro finit de tourner, la Msgbox apparaît mais il ne s'est rien passé

Je me suis un peu replongé dans la macro ce matin.

J'ai réussi à déplacer les dossiers, ça fonctionne parfaitement. Il me manquait une info dans le nom des fichiers (un classique j'ai envie de dire). Mais j'ai pu laisser

moFSO.MoveFile sFichier, sRepCible

Parce que sFichier contient le chemin en entier.

Toutefois, pour la private Sub, la boucle ne fonctionne pas. Elle tourne jusqu'à arriver à 298 lignes mais ne s'arrête pas au bout de la liste de la première feuille.

Quelqu'un aurait une idée ?

Et bien avec du recul j'ai réussi à comprendre ce qui n'allait pas.

J'avais lancé une boucle dans une boucle donc ça n'aide pas.

En pièce jointe vous trouverez le document terminé et fonctionnel

Merci à tous

Rechercher des sujets similaires à "vba deplacer fichiers issus dossiers differents"