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.
- Messages
- 4'087
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
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 ?
- Messages
- 4'087
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
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