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 Copie d un dossier avec nom variable fonction d une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    VBA Copie d un dossier avec nom variable fonction d une cellule
    Bonjour je suis face à un problème que je n'arrive pas à solutionner.

    J'ai un Dossier dans le quel j'ai 6 fichiers : Redevance , semaine 1 , semaine 2, semaine 3 ,etc.....

    La macro suivante me permet de copier le dossier et sont contenu pour créer un nouveau moi mais je souhaiterai que le nom du nouveau dossier créer soit un nom que je saisie dans une cellule en l'occurrence M19.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub CopieDossier()
        
        Dim GestionFichier As New Scripting.FileSystemObject
        GestionFichier.CopyFolder "C:\Users\TRIAN\Desktop\Prod. original", "C:\Users\TRIAN\Desktop\2020\NOM VARIABLE??"
        Set GestionFichier = Nothing
    End Sub


    Je voudrai même aller plus loin, en utilisant l'emplacement du dossier qui serrai variable exemple si je l'envoi à un collègue et que la macro parte a ce moment la de l emplacement du dossier et plus du chemin fixe de Mon Pc


    Merci de votre aide

    Bonne soirée à tous

  2. #2
    Expert éminent sénior
    Citation Envoyé par mout33 Voir le message

    Bonjour,

    A tester :
    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
     
    Sub TestCopieDossier2()
     
             CopieDossier2 ActiveWorkbook.Path & "\Copie répertoire source", ActiveSheet.Range("M19") ' Répertoire source à adapter
     
    End Sub
     
    Sub CopieDossier2(ByVal RepSource As String, ByVal RepCible As String)
     
    Dim GestionFichier As Object
     
        Set GestionFichier = CreateObject("Scripting.FileSystemObject")
        With GestionFichier
             If .FolderExists(RepSource) = True Then .CopyFolder RepSource, RepCible
        End With
        Set GestionFichier = Nothing
     
    End Sub
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Futur Membre du Club
    Merci Eric
    Bonjour Eric Merci pour ton code mais rien ne ce passe quand je le lance

    je suis pas sur d'être claire dans ma premier explication.

    Dossier "Feuilles de Prod.Original" dans celui ci ce trouve les fichier à copier mais qui en fonction de l'ordinateur ou il ce trouve le chemin n'est pas toujours le même . Du coup la manip est elle réalisable déjà à ce stade ci ??

    les documents du dossier doivent ce copier dans ce dossier ci mais dans un nouveau dossier qui porterai le texte qui ce trouve dans la cellule M19 voir même ci possible jouer ca avec 2 cellule (exmple M19=Octobre et M18= 2020)

    J espère que les précisions aiderons car je bloque

  4. #4
    Rédacteur

    Bonjour,
    Dossier "Feuilles de Prod.Original" dans celui ci ce trouve les fichier à copier mais qui en fonction de l'ordinateur ou il ce trouve le chemin n'est pas toujours le même . Du coup la manip est elle réalisable déjà à ce stade ci ??
    Dans ce cas précis, j'utiliserais un fichier INI ou même un simple fichier Txt par ordinateur qui indiquerait le chemin où se trouve le fichier
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  5. #5
    Futur Membre du Club
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Dans ce cas précis, j'utiliserais un fichier INI ou même un simple fichier Txt par ordinateur qui indiquerait le chemin où se trouve le fichier
    Philipe si tu peu développer car je ne connais pas ce type de fichier .

    Merci pour ta piste déjà

  6. #6
    Expert éminent sénior
    Citation Envoyé par mout33 Voir le message

    Dossier "Feuilles de Prod.Original" dans celui ci ce trouve les fichier à copier mais qui en fonction de l'ordinateur ou il ce trouve le chemin n'est pas toujours le même . Du coup la manip est elle réalisable déjà à ce stade ci ??
    Il faut simplement que le fichier Excel contenant le code soit en amont du répertoire source, le chemin du fichier est donné par ActiveWorkBook.Path. De ce fait, on a juste à indiquer le répertoire en aval.

    les documents du dossier doivent ce copier dans ce dossier ci mais dans un nouveau dossier qui porterai le texte qui ce trouve dans la cellule M19 voir même ci possible jouer ca avec 2 cellule (exmple M19=Octobre et M18= 2020)


    Il ne faut pas que le dossier cible soit inclus dans le dossier source. L'exemple que vous avez pris dans votre premier message est correct.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

###raw>template_hook.ano_emploi###