Action Sur Repertoire

  • Initiateur de la discussion Initiateur de la discussion sri75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sri75

XLDnaute Occasionnel
Bonjour je voudrais faire une macro qui teste si un répertoire est vide
ex c:\test

si oui rien "msgbox" bla bla si non

il déplace la totalité du contenu dans un autre répertoire c:\cible.

pour les copier j'ai Fso.CopyFile Fichiers mais pour déplacer je ne sais pas.

merci à tous
 
Re : Action Sur Repertoire

Re

en fait j'avais mal compris, enfin je crois pour déplacer des fichiers et non le dossier utilise peut être le code ci dessous :

Code:
Sub DeplaceFichiers()
'activer la reference Microsoft scripting Runtime
Dim fso As Scripting.FileSystemObject, fs As FileSearch
Dim MonRepertoire As String, MonRepertoire2 As String
Dim i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = Application.FileSearch
fs.NewSearch
MonRepertoire = "C:\Donnees\Test1\"
MonRepertoire2 = "C:\Donnees\Test2\"
With fs
    .LookIn = MonRepertoire
    .Filename = "*.*"
    If .Execute > 0 Then
        For i = 1 To .FoundFiles.Count
            fso.MoveFile .FoundFiles(i), MonRepertoire2
        Next i
    End If
End With
End Sub

ce code terste s'il existe des fichiers dans le dossier C donnee test1, si oui les déplace dans le dossier C donnee test2, chemin et nom des fichiers à adapter.

bonne soirée
@+
 
Re : Action Sur Repertoire

Bonjour sri

ce code fonctionne parfaitement chez moi en local, par contre peut être un problème de droit sur fichier ou serveur...Vérifie peut être le niveau de sécurité des macros, à régler sur moyen.

bonne journée
@+
 
Re : Action Sur Repertoire

peut être est ce mon code qui est mal fait , voila ce que j'ai adapté :

Sub DeplaceFichiers()
'activer la reference Microsoft scripting Runtime
Dim fso As Scripting.FileSystemObject, fs As FileSearch
Dim MonRepertoire As String, MonRepertoire2 As String
Dim i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = Application.FileSearch
fs.NewSearch
MonRepertoire = "\\Aacsn_serv\editdfc\in\TESTTDFC"
MonRepertoire2 = "\\Aacsn_serv\editdfc\in\FIDUCIAL"
With fs
.LookIn = MonRepertoire
.Filename = "*.*"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
fso.MoveFile .FoundFiles(i), MonRepertoire2
Next i
End If
End With
End Sub

Il bloque sur Monrepertoire2 et me met "erreur d'execution 58" ce fichier existe déja. J'ai testé en prenant un répertoire vide et j'ai la meme erreur.

Merci
 
Re : Action Sur Repertoire

Re

je suppose que tu as vérifié, le fichier à déplacer dans le répertoire "FIDUCIAL" n'est pas déjà présent dans celui ci ou un fichier portant le même nom ?

Utilises l'execution pas à pas et regardes dans VBA, fenêtre des variables locales la propriété "name" de "i" afin de vérificer dans "FIDUCIAL" si ce fichier existe déjà.

bon après midi.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
882
Réponses
20
Affichages
1 K
Réponses
3
Affichages
1 K
Retour