IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA - E] Copie de répertoires


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut [VBA - E] Copie de répertoires
    Bonjour,

    je liste dans une listbox toute une liste de répertoires.

    Une fois un répertoire sélectionner, comment faire pour copier ce répertoire ainsi que tous les fichiers qu'il contient dans un emplacement prédéfini ?

    Peut on passer par les fonctionnalités DOS ? Autre solution ?

    Merci par avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Passer par le dos est la meilleure solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Call Shell("cmd /c P:\")
    Call Shell("cmd /c MD p:\MesFichiers") ' crée le répertoire MesFichiers
    Call Shell("cmd /c xcopy P:\xls P:\MesFichiers\") 'copie le répertoire
    A+

    NB - si tu utilises des variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Call Shell("cmd /c MD " & NouveauRep) ' crée le répertoire MesFichiers
    Call Shell("cmd /c xcopy " & AncienRep & " " & NouveauRep) 'copie le répertoire

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    en plaçant microsoft scripting runtime en référence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Dim fso As New FileSystemObject
     fso.CopyFolder "P:\xls", "P:\MesFichiers\"

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Merci bbil.
    Pour ma propre culture,
    - ton code (qui est naturellement préférable au mien) fonctionne-t-il sur VBA 97 ?
    - crée-t-il le nouveau répertoire ?
    Par avance, merci

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pour ce qui est de VBA 97 je manipule pas trop.. mais si tu as habituellement accés au nombreuse fonctions utilisant "Microsoft Scripting runtime" sur le forum cela devrai être bon pour celle la aussi...

    oui le répertoire est créé ..

    CopyFolder posséde en plus un troisiéme paramétres ..qui à vrai ( valeur par défaut) écrase les fichiers de même nom.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ok bbil, merci.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Bonjour ouskel'n'or, Bonjour bbil,

    voici donc le code que j'ai saisi à partir de variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Dim FSO as new FileSystemObject
     
    [...]
     
    RepDépart = "C:\...\En cours" & "\" & lstMaListe.Value
            RepDest = "C:\...\Terminées" & "\"
     
            FSO.CopyFolder "RepDépart", "RepDest"
    Mais cela me fournit un message d'erreur. Quelle est l'erreur que j'ai commise ?

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par sat478
    Bonjour ouskel'n'or, Bonjour bbil,

    voici donc le code que j'ai saisi à partir de variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    Dim FSO as new FileSystemObject
    
    [...]
    
    RepDépart = "C:\...\En cours" & "\" & lstMaListe.Value
            RepDest = "C:\...\Terminées" & "\"
        
            FSO.CopyFolder "RepDépart", "RepDest"
    Mais cela me fournit un message d'erreur. Quelle est l'erreur que j'ai commise ?
    c'est quoi le message d'erreur ..?

    sinon pourquoi met tu des " autour de tes variables ...enléve les..!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA Excel] Recupérer le répertoire du fichier .xls courrant
    Par greg2 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 16/02/2015, 17h58
  2. [VBA-Excel] Copie d'un fichier dans un répertoire
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/10/2006, 14h46
  3. Réponses: 12
    Dernier message: 07/12/2005, 18h42
  4. [VBA-E] Copie et renomage de feuilles
    Par cbonnard dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/10/2005, 15h55
  5. Copie de répertoire
    Par Mateo dans le forum C
    Réponses: 3
    Dernier message: 10/06/2004, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo