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 :

FileCopy avec nom de dossier et document variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 39
    Par défaut FileCopy avec nom de dossier et document variable
    Bonjour à tous
    Voici le problème que je rencontre.

    Dans un premier temps je vais rechercher à l'aide de la méthode "GetOpenFileName" un document dont le chemin d'accès sera stocké dans un label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim QuelFichier
      QuelFichier = Application.GetOpenFilename()
      If QuelFichier <> False Then
      Label_chemin_fichier_a_enregistrer.Caption = QuelFichier
    Ensuite je fais apparaître un message box pour me demander si je souhaite enregistrer ce document.
    Si je clique sur "oui" alors:

    -La procédure va dans un premier temps créer dossier dont le nom était renseigné précédemment dans une combobox.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select Case MsgBox("Confirmer l'enregistrement du document, vbYesNo, "Rattachement d'un document")
              Case vbYes
     
     
    MkDir "F:\Base de donné REX\Base document\" & frm_fiche_creation_rex.ComboBox_choixRF.Value
    C'est ensuite que les choses se compliquent

    Je voudrais que le document, dont le chemin est stocké dans le label soit copier collé dans le dossier qui vient d'être crée.

    J'ai essayé avec la méthode "FilCopy" mais je n'arrive pas y insérer les variables.

    Pouvez-vous m'aider?
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'utilise cette macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub CopieFichier(Source As String, Destination As String)
     
    Dim Fso As Object
     
        Set Fso = CreateObject("Scripting.FileSystemObject")
        Fso.CopyFile Source, Destination
        Set Fso = Nothing
     
    End Sub
    Où Source et destination correspondent chaque fois aux Répertoire & "\" & Nom du fichier.

    Cordialement.

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour.
    Citation Envoyé par Eric KERGRESSE Voir le message
    Où Source et destination correspondent chaque fois aux Répertoire & "\" & Nom du fichier.
    Idem avec FileCopy source, destination

  4. #4
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 39
    Par défaut
    Merci pour vos réponses : )

    Du coup comment écrire la synthaxe pour coder "source" et "destination"?
    en reprenant les informations stockées?

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Une illustration à adapter à partir de ma proposition

    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
    18
    19
    20
    21
    22
    23
     
    Private Sub CommandButton1_Click()
     
     
    Dim QuelFichier As Variant
    Dim RepertoireFichier As String
    Dim NomDuFichier As String
    Dim NouveauRepertoire As String
     
     
      QuelFichier = Application.GetOpenFilename()
      If QuelFichier <> False Then
         Label_chemin_fichier_a_enregistrer.Caption = QuelFichier ' Nom du fichier avec son répertoire
         RepertoireFichier = CurDir                               ' Nom du répertoire
         NomDuFichier = Dir(QuelFichier)                          ' Nom du fichier
       End If
     
       NouveauRepertoire = CurDir & "\Essai V1"                   ' A adpater à votre cas
       MkDir NouveauRepertoire
       CopieFichier Label_chemin_fichier_a_enregistrer, NouveauRepertoire & "\" & NomDuFichier
     
     
    End Sub
    Cordialement
    Dernière modification par AlainTech ; 12/12/2013 à 21h18. Motif: Suppression de la citation inutile

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

Discussions similaires

  1. Requête SQL dynamique avec nom de table dans une variable
    Par jonjack dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 15/09/2011, 14h37
  2. [Batch] Recherche documents puis copie avec nom du dossier
    Par Vincss dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 19/05/2010, 10h30
  3. Requête avec nom de colonne intégrant une variable
    Par pentoneal dans le forum PL/SQL
    Réponses: 6
    Dernier message: 19/10/2009, 14h48
  4. [mkdir] Nom de dossier à partir de variables
    Par alexismarque dans le forum MATLAB
    Réponses: 2
    Dernier message: 18/06/2009, 18h52
  5. comment changer nom du dossier apres documents and settings
    Par orientalys dans le forum Windows XP
    Réponses: 1
    Dernier message: 09/12/2005, 01h00

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