Deplacement de fichier [Résolu]

Signaler
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
-
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
-
Voila, j'aimerai pouvoir copier à la volé tous les fichiers présent dans le File.Name mais vb me signale une erreur sur
" Set oFl = oFSO.GetFile("C:\Documents and Settings\FSD.DOMMIND\Bureau\Source a comparer" & File.Name)  "

Je ne pensse pas que l'erreur sois grosse 

 Dim oFSO
    Dim oFS, oFl
  Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    Dim folder
    Set folder = fso.GetFolder(Path)
    Dim folder2
    Set folder = fso.GetFolder(Path2)
    
    Dim Files
    Set Files = folder.Files

For Each File In Files
   
   
         If existe(File.Name) = True Then
                Set oFSO = CreateObject("Scripting.FileSystemObject")
                Set oFl = oFSO.GetFile("C:\Documents and Settings\FSD.DOMMIND\Bureau\Source a comparer" & File.Name)
                oFl.Copy "C:\Documents and Settings\FSD.DOMMIND\Bureau\Anterieurs" & File.Name, True
            End If

9 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,

Justement c'est ce que je te dit AUCUNEMENT besoin de faire un GETFILE pour le copier, passse plutot par la méthode .CopyFIle De l'objet oFSO de type FileSystemObject

@+: Ju£i?n
Pensez: Réponse
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Deux petites choses.

1- Pourquoi faire un GetFile avant une Copie? utilise directement .CopyFile de l'objet oFSO
2- Quelle est l'erreur signalée par VB (et oui c'est utilie pour nous)
@+: Ju£i?n
Pensez: Réponse
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

A oui, j'ai presque oublié l'erreur, c'est simplement que le fichier est introuvable, rien qui me semble vraiment méchant.
J'utilise le getfile pour recuperer le fichier à copier du dossier "Source à comparer" pour ensuite le coller dans "Anterieurs"
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

Oui, si je met le lien en dure, sa marche très bien avec le copyfile, c'est plus pratique, mais je viens de me rendre compte que le soucie est que ma var File.Name ne contiends pas le nom de mon fichier, c'est pour cela qu'il est introuvable
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

J'ai peu être mal concaténer ma variable, je vais fair des test
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

Rectificatif : le File.Name contiens bien le nom du fichier, j'ai donc
oFSO
.
CopyFile
"
c:\tmp\cool\
"&File.Name
,
"
c:\tmp\Fichier\
"
,
True
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Re,
Est ce qu'un petite erreur ne se serait pas glisser

ce n'est pas
Dim folder
   Set folder = fso.GetFolder(Path)
   Dim folder2
   Set folder = fso.GetFolder(Path2), ----
[code.aspx?ID=41455 By Renfield]

mais plutot

Dim folder
   Set folder = fso.GetFolder(Path)
   Dim folder2
   Set folder2= fso.GetFolder(Path2), ----
[code.aspx?ID=41455 By Renfield]

<hr size ="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

Oui j'ai suprimé pour la simplicité.
Je met vraiment en doute ma manière d'utiliser mes variables pour récupérer les fichiers.

ma varaible path contiends bien le lien de mon dossier parant et File.Name le nom du fichier accompagné de son extenssion
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009

Problème résolue

  Set oFl = oFSO.GetFile("C:\Documents and Settings\...\Bureau\Source a comparer" & File.Name)
       oFl.Copy "C:\Documents and Settings\...\Bureau\identiques"

Comme ca, sa marche.

Merci pour ton aide Jrivet