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 :

Macro pour copie de fichier [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2020
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2020
    Messages : 23
    Par défaut Macro pour copie de fichier
    Bonjour, j’ai un répertoire avec deux fichiers .xlsm, j’aimerais à partir d’une macro de copier et renommer le dernier.
    Ex : semaine 3.xlsm
    semaine 4.xlsm


    Le but est de copier la dernière semaine, de renommer cette copie.

    Dans cet exemple: A partir d’une macro, la semaine 4 est copiée, et renommer en semaine 5, puis suppression de la semaine 3. Au final on ne retrouve que les 2 dernières semaines. J’ai réussi à créer une macro qui copie et renomme la copie en semaine x, le problème est que je dois aller modifier la macro pour y mettre le nom du fichier à copier et le nom de la nouvelle semaine. Il faudrait au lancement de la macro, demander à saisir le nom pour la nouvelle semaine ex: "Indiquez votre nouvelle semaine" une fois la saisie faite, valider par entrée, la macro se lance.
    Merci.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J’ai réussi à créer une macro qui copie et renomme la copie en semaine x, le problème est que je dois aller modifier la macro pour y mettre le nom du fichier à copier et le nom de la nouvelle semaine
    Si vous avez écrit une procédure (macro) qui vous satisfait et que finalement vous devez simplement modifier quelques constantes (n° de semaine par exemple), il vous suffit de modifier cette procédure en prévoyant des arguments.
    Ainsi vous en ferez une procédure générique.
    Si vous souhaitez un coup de main, je vous invite à publier cette procédure afin que l'on vous indique ce qu'il y a à modifier.
    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
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2020
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2020
    Messages : 23
    Par défaut Macro de copie de fichier
    Bonjour et merci de votre réponse, veuillez trouver la petite macro qui copie et renomme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
    '
    FileCopy "C:\Users\rv\Desktop\test\semaine5.xlsm", "C:\Users\rv\Desktop\test\semaine6.xlsm"
    '
    End Sub
    Que mettre pour demander au gestionnaire la "semaine6" avant le lancement de cette macro. je pense mettre un bouton de commande pour le lancement de la macro.
    merci.
    Cordialement

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Donc à la lecture de la ligne de code de votre procédure, je constate que le répertoire source et cible ainsi que le préfixe du nom des classeurs sont identiques soit "C:\Users\rv\Desktop\test\semaine"
    Seul sont variable le numéro de la semaine présent dans les classeurs "source" et "cible" et je suppose que la source représente la semaine précédente et l'autre la semaine en cours
    La fonction Format permet de renvoyer une chaîne de caractères représentant une semaine (entres autres) en fonction des arguments remplis

    Code non testé (j'ai juste vérifié l'exactitude des chaînes de caractères servant à la source et à la cible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub tt()
     Const Path As String = "C:\Users\rv\Desktop\test\semaine"
     Dim ThisWeek As String
     Dim PrevWeek As String
     ThisWeek = Format(Date, Format:="ww", FirstDayOfweek:=vbMonday, FirstWeekOfYear:=vbFirstFourDays)
     PrevWeek = Format(Date - 7, Format:="ww", FirstDayOfweek:=vbMonday, FirstWeekOfYear:=vbFirstFourDays)
     ' Copie 
     FileCopy Path & PrevWeek & ".xlsm", Path & ThisWeek & ".xlsm"
     
    End Sub
    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
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2020
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2020
    Messages : 23
    Par défaut Copie de fichiers
    Bonjour et merci de votre réponse, la procédure que vous m'avez envoyé n'est pas ce que je recherche. Ce que je recherche est un code simple car il ne faut pas incrémenter le n° de semaine par automatisme, c'est le gestionnaire qui choisi le n° de semaine. Les semaines ne se suivent pas forcement. Ex: au lancement de la macro on demande au gestionnaire de saisir le n° de la semaine, puis la macro se lance, copie de la semaine en cours, renommage de la semaine copiée. Au final dans la repertoire on retrouve la nouvelle semaine et l'ancienne.
    Cordialement.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce que je recherche est un code simple car il ne faut pas incrémenter le n° de semaine par automatisme, c'est le gestionnaire qui choisi le n° de semaine
    Je ne vois pas où est la complexité de ce que je vous ai envoyé mais si vous aviez dit plus tôt que vous souhaitiez, que l'on encode le n° de semaine, cela aurait certainement été plus simple.

    Avec ce que je vous ai envoyé, vous avez tout pour construire vous même la ligne de code.
    Cependant malgré ce que vous écrivez et d'après ce que vous avez publié il y aura tout de même une incrémentation à faire par rapport au n° encodé sauf si évidemment les deux n° de semaines doivent être encodés.
    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
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    Pour demander au gestionnaire, utilises InputBox :
    Fonction InputBox (Visual Basic pour Applications) | Microsoft Docs

  8. #8
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Janvier 2020
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2020
    Messages : 23
    Par défaut Copie de fichiers
    Tout compte fait, avec quelques clics j'ai le résultat voulu.
    Merci
    Cordialement.

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

Discussions similaires

  1. [XL-2010] macro pour copie et de fichier pdf
    Par Prof_Matches dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2012, 14h20
  2. Explication pour: Copie de fichier ".zargo"
    Par zribi.s dans le forum Logging
    Réponses: 1
    Dernier message: 06/07/2007, 11h28
  3. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08
  4. Réponses: 1
    Dernier message: 15/09/2006, 16h23
  5. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 14h47

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