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

VBA Access Discussion :

Copier des fichiers dans un répertoire en une commande [AC-2000]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Copier des fichiers dans un répertoire en une commande
    Bonjour,

    Avec le code ci dessous, dans le même répertoire "BO" je me retrouve avec les fichiers .UDO ET le répertoire "User" créé indépendamment. Ce que je voudrais c'est que les fichiers .UDO se retrouvent DANS le répertoire "User" créé en lançant une seule fois la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CmdSvgdeUDO_Click() 
    Dim FSys 
    Dim u As String 
    Dim Source, Destination As String 
     
    u = Environ("username") 
    Set FSys = CreateObject("Scripting.FileSystemObject") 
     
    Source = "X:\My Business Objects Documents\Universes\*.udo" 
    Destination = "S:\...\BO" 
     
    FSys.CreateFolder "S:\...\BO\" & u 
    FSys.CopyFile Source, Destination, True 
    Set FSys = Nothing 
    MsgBox "Répertoire et fichiers bien crées !", vbInformation 
     
    End Sub
    ...et ca je ne sais pas faire...vous auriez une petite idée?

    Je vous remercie

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Modifiez destination de telle sorte que la variable contienne le nom de l'utilisateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Destination = S:\...\BO\" & u

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour Tofalu,

    J'ai suivis votre conseil mais lorsque j'exécute j'ai la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FSys.CopyFile Source, Destination, True
    qui est surligné en jaune.

    Cependant, le répertoire "user" est crée mais sans les fichiers .UDO (ni dans le répertoire "user", ni dans le répertoire "BO").

    Voici le code avec la modification que vous m'avez proposée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CmdSvgdeUDO_Click()
    Dim FSys
    Dim u As String
    Dim Source, Destination As String
    
        u = Environ("username")
        Set FSys = CreateObject("Scripting.FileSystemObject")
              
        Source = "X:\My Business Objects Documents\Universes\*.udo"
        Destination = "S:\...\BO" & u    
        FSys.CreateFolder "S:\330_NICE\Portage Chartres\80- Centralisation_Bureautique\BO\" & u
        FSys.CopyFile Source, Destination, True
        Set FSys = Nothing
        MsgBox "Répertoire bien crée !", vbInformation
        
    End Sub
    Merci pour votre aide

  4. #4
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour,

    J'écrirais plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FSys.CopyFile Source, Destination & "\" , True
    ainsi que c'est expliqué dans l'aide Access en ligne à copyfile
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
    si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    En fait il y a encore plus simple. Voici le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CmdSvgdeUDO_Click()
    Dim FSys
    Dim u As String
    Dim Source, Destination As String
    
        u = Environ("username")
        Set FSys = CreateObject("Scripting.FileSystemObject")
              
        Source = "X:\My Business Objects Documents\Universes\*.udo"
        Destination = "S:\...\BO\" & u
        
        FSys.CreateFolder "S:\...\BO\" & u
        FSys.CopyFile Source, Destination, True
        Set FSys = Nothing
        MsgBox "Répertoire et fichier bien crée !", vbInformation
        
    End Sub
    Dans la variable Destination, il faut ajouter un back slash + la variable u.

    Merci pour toutes vos réponses, elles ont été d'un très grand aide

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/12/2012, 16h50
  2. Réponses: 9
    Dernier message: 20/02/2009, 17h51
  3. Réponses: 1
    Dernier message: 18/11/2008, 21h42
  4. Copier un fichier dans un répertoire?
    Par jbjweb dans le forum C
    Réponses: 5
    Dernier message: 05/09/2006, 15h34
  5. Copier un fichier dans un répertoire
    Par soft damsel dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2006, 16h02

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