Déplacer un fichier via Macro

Bonjour,

Je souhaite déplacer un fichier Excel d'un dossier 1 vers un dossier 2. J'ai commencé à faire le code mais je bloque un peu et j'ai besoin de votre aide... Voici mon code :

Sub DEPLACER()

' Archivage du fichier le dossier "dossier 2"
'Fonction accessible uniquement à un modérateur protégé par mot de passe

Set objet_fso = Server.CreateObject("Scripting.FileSystemObject")
Dim i As Long
Dim source As String, destin As String, message As String
Dim oFSO As Scripting.FileSystemObject
Dim Rep As Integer

' affichage de la boite de dialogue
Password = InputBox("Mot de passe ?", "DEPLACER FICHIER")

'Test du texte saisi et sortie macro si différent du bon mot de passe
If Password = "0000" Then
nom = InputBox("Entrer le nom du fichier que vous souhaitez archiver", "DEPLACER FICHIER")

message = "Etes-vous sur(e) de vouloir déplacer le(s) fichier(s) sélectionné(s) de : dossier 1  vers : dossier 2"
Rep = MsgBox(message, vbYesNo + vbQuestion, "Confirmation")
If Rep = vbYes Then

    Set oFSO = New Scripting.FileSystemObject

                source = "C:\repertoire\dossier 1"
                destin = "C:\repertoire\dossier 2"
                If oFSO.FileExists(source) Then
                    oFSO.MoveFile source, destin
                End If
            End If

MsgBox "Déplacemen effectué.", vbOKOnly + vbInformation, "Fin de traitement"
Else
    MsgBox "Abandon opérateur", vbCritical, "Annulation"
End If

End If

End Sub

La première erreur de ce code est la création d'un objet FSO. Je pense avoir activé la bibliothèque nécessaire mais je n'en suis pas sûre. Cette bibliothèque est-t'elle fourni de base avec Excel ?

Merci beaucoup et bonne journée.

Bonjour,

Attention. En utilisant l'unité C, tu peux rencontrer des problèmes de droit de déplacement.

ci-dessous code

'******************* Ajouter la référence Microsoft Scripting Runtime ****************************

Sub DEPLACER()

' Archivage du fichier le dossier "dossier 2"
'Fonction accessible uniquement à un modérateur protégé par mot de passe

    Dim ofso As New FileSystemObject
    Dim dossier As Folder
    Dim fichier As File
    Dim i As Long
    Dim dossier1, dossier2, source As String, destin As String, message As String
    Dim Rep As Integer

    ' définition dossier 1 et dossier 2
     dossier1 = "C:\repertoire\dossier 1"
    If Not ofso.FolderExists(dossier1) Then
        MsgBox "Répertoire Dossier 1 inexistant - Arrêt Traitement"
        Exit Sub
    End If
    dossier2 = "C:\repertoire\dossier 1"
    If Not ofso.FolderExists(dossier2) Then
        MsgBox "Répertoire Dossier 2 inexistant - Arrêt Traitement"
        Exit Sub
    End If

    ' affichage de la boite de dialogue
     Password = InputBox("Mot de passe ?", "DEPLACER FICHIER")

    'Test du texte saisi et sortie macro si différent du bon mot de passe
     If Password = "0000" Then
        nom = InputBox("Entrer le nom du fichier que vous souhaitez archiver ", "DEPLACER FICHIER")
        message = "Etes-vous sur(e) de vouloir déplacer le(s) fichier(s) sélectionné(s) de : " & dossier1 & " vers : " & dossier2
        Rep = MsgBox(message, vbYesNo + vbQuestion, "Confirmation")
        If Rep = vbYes Then
            source = ""
            destin = dossier2 & "\"
            Set dossier = ofso.GetFolder(dossier1)
            For Each fichier In dossier.Files
                If LCase(fichier.Name) Like LCase(nom) & "*" Then
                    source = fichier.Path
                    Exit For
                End If
            Next
            If ofso.FileExists(source) Then
                On Error Resume Next
                ofso.MoveFile source, destin
                If Err.Number = 0 Then
                    MsgBox "Déplacement effectué.", vbOKOnly + vbInformation, "Fin de traitement"
                Else
                    MsgBox "Erreur! " & Err.Description
                End If
                On Error GoTo 0
            End If
        Else
            MsgBox "Abandon opérateur", vbCritical, "Annulation"
        End If

    End If

    End Sub
 

Bonjour,

En essayant le code ci-dessus, ça bloque à "Dim ofso As New FileSystemObject" avec le message d'erreur suivant : "Erreur de compilation : Type défini par l'utilisateur non défini". Est-ce par ce que je n'arrive pas à ajouter la nouvelle référence ?

Certainement.

éditeur VB --> outils --> références

Bonjour tous le monde

Mon souci et comment déplacer et réorganisé plusieurs documents Word , Excel et PDF dans leurs dossiers approprier;

j'ai fais une arborescence du dossier "Djamel divers" à l'aide d'une macro dont plusieurs documents s’affichant dans la colonne A , j'ai remplis la colonne B , par le nom du dossier approprié et la colonne C par le nom du chemin d'accès

L'aide que je cherche c'est une macro qui fasse déplacée les documents listés dans la colonne A vers les dossiers listés dans la colonne B

Merci D'avance

148transfert.xlsm (15.27 Ko)
Rechercher des sujets similaires à "deplacer fichier via macro"