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 :

Exécuter macro avec nom du fichier ouvert : prob de variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Par défaut Exécuter macro avec nom du fichier ouvert : prob de variable
    Bonjour à tous,

    Je suis en train de faire une macro pour copier coller en valeur des données d'un fichier nommé "EVS04" dans le dossier avril
    Cette manip sera faite tous les mois, mais le mois prochain mon fichier sera "EVS05" et le chemin d'accès sera : dossier mai

    Ma macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Windows("Evs_Cumul042011.xls").Activate
        Sheets("48281").Select
        Cells.Select
        Range("A76").Activate
        Application.CutCopyMode = False
        Selection.Copy
        Windows("EVS a envoyer.xls").Activate
        Sheets("48281").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Mon problème c'est que le nom du fichier est fixe et qu'avec mon prochain fichier EVS05 la macro ne va pas me prendre les données de ce nouveau fichier !

    Pourriez vous m'aidez ??

    Mille 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 135
    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 135
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour créer un nom en fonction d'une date.
    Partons de l'hypothèse que tu veuilles créer un nom combinant une chaîne de caractères ici "EVS" avec le n° du mois en cours précédé d'un zéro pour les numéros de mois inférieurs à 9.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim NumMonth As String, FileName As String
    NumMonth = Format(Month(Date), "00")
    FileName = "EVS" & NumMonth
    MsgBox FileName
    Et bien entendu, il y a plus court
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FileName = "EVS" & Format(Month(Date), "00")
    MsgBox FileName
    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
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Par défaut
    youai merci beaucoup !!

    par contre le fichier EVS04 est dans le dossier Avril et le prochain EVS05 sera dans le dossier Mai.

    Je supporse qu'il y a un petit code a rajouté pour que la macro marche, où il suffit que j'ai le fichier EVS05 d'ouvert?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Par défaut
    le dossier se nomme "avril" ou "04" ?
    car il suffit juste que tu mette en variable pour le chemin d'acces
    pour obtenir le mois en lettre :


  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Par défaut
    Bonjour,

    Le dossier dans lequel contien EVS04 s'appelle 04.Avril et le dossier de EVS05 sera 05.Mai (pour qu'ils restent classés chronologiquement je suis obligée de mettre les mois en chiffres en plus)

    je dois donc faire en sorte que la maccro prenne les données des feuilles du fichier EVS en cours qui se trouve dans le dossier du mois en cours, et ne reste pas sur les données des feuilles de EVS04 dans le fichier 04.Avril

    Merci

    Bonne journée à tous

  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 135
    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 135
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Code pour donner le nom du répertoire et du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim FileName As String, FolderName As String, txt As String
     ' Nom du fichier
     FileName = "EVS" & Format(Month(Date), "00")
     txt = "Classeur...: " & FileName & vbCrLf
     ' Nom du répertoire
     FolderName = Format(Now(), "mm") & "_" & Format(Now(), "mmmm")
     txt = txt & "Répertoire : " & FolderName
     MsgBox txt
    Attention toutefois que si tu travailles dans une entreprise internationale où il y a des versions Anglaise et française qui cohabitent le nom des mois va poser des problèmes mai ou May. Il y a alors d'autres méthodes pour éviter cela.
    Petite suggestion :
    Je n'ai pas compris pourquoi tu extrais les données de Mai du classeur EVS04 pour les coller sur EVS05 . Ne serait-il pas plus facile d'avoir une feuille ou un classeur EVS, par exemple, et de faire alors une copie ou un déplacement de la feuille vers le classeur du mois en cours EVS05
    Avec ce code qui copie ou déplace vers un nouveau classeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("EVS").Copy 'Copie
    Sheets("EVS").Move 'Déplacement
    Ensuite tu sauves ce nouveau classeur avec le nom EVSmm dans le répertoire mm_mmmm
    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

Discussions similaires

  1. [XL-2003] Macro pour imprimer en pdf avec nom de fichiers variables
    Par YoTaPi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2014, 18h50
  2. Réponses: 2
    Dernier message: 01/07/2010, 18h05
  3. Réponses: 29
    Dernier message: 21/10/2008, 17h36
  4. Appel d'une fonction C avec nom de fichier en paramètre
    Par vince3320 dans le forum Fortran
    Réponses: 4
    Dernier message: 21/11/2006, 14h58
  5. [VBA][Excel]Exécution macro avec fichiers source
    Par ouezon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/12/2005, 00h00

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